Product Cover Image

Java Software Structures: Designing and Using Data Structures, CourseSmart eTextbook, 3rd Edition

By John Lewis, Joseph Chase

Published by Addison-Wesley

Published Date: Feb 9, 2009

More Product Info


The third edition of Java Software Structures embraces the enhancements of the latest version of Java (Java 6, as well as Java 5), where all structures and collections are based on generics. The framework of the text walks the reader through three main areas: conceptualization, explanation, and implementation, allowing for a consistent and coherent introduction to data structures. Students learn how to develop high-quality software systems using well-designed collections and algorithms.

Table of Contents

1. Introduction
1.1 Software Quality
1.2 Data Structures

2. Analysis of Algorithms
2.1 Algorithm Efficiency
2.2 Growth Functions and Big-OH Notation
2.3 Comparing Growth Functions
2.4 Determining Time Complexity

3. Collections
3.1 Introduction to Collections
3.2 Stack Collection
3.3 Crucial OO Concepts
3.4 A Stack ADT
3.5 Using Stacks: Evaluating Postfix Expressions
3.6 Exceptions
3.7 Implementing a Stack: With Arrays
3.8 The ArrayStack Class

4. Linked Structures
4.1 References as Links
4.2 Managing Linked Lists
4.3 Elements Without Links
4.4 Implementing a Stack
4.5 Using Stacks: Traversing a Maze
4.6 Implementing Stacks: The java.util.Stack Class

5. Queues
5.1 A Queue ADT
5.2 Using Queues: Code Keys
5.3 Using Queues: Ticket Counter Simulation
5.4 Implementing Queues: With Links
5.5 Implementing Queues: With Arrays

6. Lists
6.1 A List ADT
6.2 Using Ordered Lists: Tournament Maker
6.3 Using Indexed Lists: The Josephus Problem
6.4 Implementing Lists: With Arrays
6.5 Implementing Lists: With Links
6.6 Lists in the Java Collections API

7. Recursion
7.1 Recursive Thinking
7.2 Recursive Programming
7.3 Using Recursion
7.4 Analyzing Recursive Algorithms

8. Sorting and Searching
8.1 Searching
8.2 Sorting
8.3 Radix Sort

9. Trees
9.1 Trees
9.2 Strategies for Implementing Trees
9.3 Tree Traversals
9.4 A Binary Tree ADT
9.5 Using Binary Trees: Expression Trees
9.6 Implementing Binary Trees with Links
9.7 Implementing Binary Trees with Arrays

10. Binary Search Trees
10.1 A Binary Search Tree
10.2 Implementing Binary Search Trees: With Links
10.3 Implementing Binary Search Trees: With Arrays
10.4 Using Binary Search Trees: Implementing Ordered Lists
10.5 Balanced Binary Search Trees
10.6 Implementing Binary Search Trees: AVL Trees
10.7 Implementing Binary Search Trees: Red/Black Trees
10.8 Implementing Binary Search Trees: The Java Collections API
10.9 A Philosophical Quandary

11. Priority Queues & Heaps
11.1 A Heap
11.2 Using Heaps: Priority Queues
11.3 Implementing Heaps: With Links
11.4 Implementing Heaps: With Arrays
11.5 Using Heaps: Heap Sort

12. Multi-way Search Trees
12.1 Combing Tree Concepts
12.2 2-3 Trees
12.3 2-4 Trees
12.4 B-Trees
12.5 Implementation Strategies for B-Trees

13. Graphs
13.1 Undirected Graphs
13.2 Directed Graphs
13.3 Networks
13.4 Common Graph Algorithms
13.5 Strategies for Implementing Graphs
13.6 Implementing Undirected Graphs with an Adjacency Matrix

14. Hashing
14.1 Hashing
14.2 Hashing Functions
14.3 Resolving Collisions
14.4 Deleting Elements from a Hash Table
14.5 Hash Tables in the Java Collections API

15. Sets & Maps
15.1 A Set Collection
15.2 Using a Set: Bingo
15.3 Implementing a Set: With Arrays
15.4 Implementing a Set: With Links
15.5 Maps and the Java Collections API

Appendix A – UML
Appendix B – Object-Oriented Design
B.1 Overview of Object-Orientation
B.2 Using Objects
B.3 Class Libraries and Packages
B.4 State and Behavior
B.5 Classes
B.6 Encapsulation
B.7 Constructors
B.8 Method Overloading
B.9 References Revisited
B.10 The static Modifier
B.11 Wrapper Classes
B.12 Interfaces
B.13 Inheritance
B.14 Class Hierarchies
B.15 Polymorphism
B.16 Generic Types
B.17 Exceptions

Purchase Info ?

With CourseSmart eTextbooks and eResources, you save up to 60% off the price of new print textbooks, and can switch between studying online or offline to suit your needs.

Once you have purchased your eTextbooks and added them to your CourseSmart bookshelf, you can access them anytime, anywhere.

Buy Access

Java Software Structures: Designing and Using Data Structures, CourseSmart eTextbook, 3rd Edition
Format: Safari Book

$57.20 | ISBN-13: 978-0-13-609514-9