Addison-Wesley / Prentice Hall
My Instructor Resource Center : Log in or request access
Data Structures and Problem Solving Using Java, 3/E
ISBN-10: 0321322134
ISBN-13: 9780321322135
Publisher: Addison-Wesley
Copyright: 2006
Format: Cloth; 960 pp
Published: 02/14/2005
This book provides a practical introduction to data structures from a viewpoint of abstract thinking and problem solving, as well as the use of Java. It does this through what remains a unique approach that clearly separates each data structure’s interface (how to use a data structure) from it’s implementation (how to actually program that structure) into different parts of the book. Part I (Tour of Java), Part II (Algorithms and Building Blocks), and Part III (Applications) lay the groundwork by discussing basic concepts and tools and providing some practical examples, but implementation of data structures is not shown until Part IV (Implementations), forcing the reader to think about the functionality of the data structures before the hash table is implemented.
The third edition of Data Structures and Problem Solving Using Java incorporates the enhancements of Java 5.0. It includes coverage of generic programming, and content on the design of generic collection classes. This book is appropriate for readers who are familiar with basic Java programming concepts or are new to the language and want to learn how it treats data structures concepts.
This product accompanies:
Weiss,
Data Structures and Problem Solving Using Java, 4/E
--- Generic programming
--- Design of Generic Classes
Part One: Tour of Java
Chapter 1: Primitive Java
1.1 The General Environment
1.2 The First Program
1.3 Primitive Types
1.4 Basic Operators
1.5 Conditional Statements
1.6 Methods
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 2: Reference Types
2.1 What is a Reference?
2.2 Basics of Objects and References
2.3 Strings
2.4 Arrays
2.5 Exception Handling
2.6 Input and Output
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 3: Objects and Classes
3.1 What is Object-Oriented Programming?
3.2 A Simple Example
3.3 javadoc
3.4 Basic Methods
3.5 Additional Constructs
3.6 Packages
3.7 A Design Pattern: Composite (pair)
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 4: Inheritance
4.1 What is Inheritance?
4.2 Designing Hierarchies
4.3 Multiple Inheritance
4.4 The Interface
4.5 Fundamental Inheritance in Java
4.6 Implementing Generic Components Using Inheritance
4.7 Implementing Generic Components Using Java 1.5 Generics
4.8 The Functor (Function Objects)
4.9 Dynamic Dispatch Details
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Part Two: Algorithms and Building Blocks
Chapter 5: Algorithm Analysis
5.1 What is Algorithm Analysis?
5.2 Examples of Algorithm Running Times
5.3 The Maximum Contiguous Subsequence Sum Problem
5.4 General Big-Oh Rules
5.5 The Logarithm
5.6 Static Searching Problem
5.7 Checking on Algorithm Analysis
5.8 Limitations of Big-Oh Analysis
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 6: The Collections API
6.1 Introduction
6.2 The Iterator Pattern
6.3 Collections API: Containers and Iterators
6.4 Generic Algorithms
6.5 The List Interface
6.6 Stacks and Queues
6.7 Sets
6.8 Maps
6.9 Priority Queues
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 7: Recursion
7.1 What is Recursion?
7.2 Background: Proofs by Mathematical Induction
7.3 Basic Recursion
7.4 Numerical Applications
7.5 Divide-and-Conquer Algorithms
7.6 Dynamic Programming
7.7 Backtracking
Chapter 8: Sorting Algorithms
8.1 Why is Sorting Important?
8.2 Preliminaries
8.3 Analysis of the Insertion Sort and Other Simple Sorts
8.4 Shellsort
8.5 Mergesort
8.6 Quicksort
8.7 Quickselect
8.8 A Lower Bound for Sorting
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 9: Randomization
9.1 Why do we need random numbers?
9.2 Random Number Generators
9.3 Nonuniform Random Numbers
9.4 Generating a Random Permutation
9.5 Randomized Algorithms
9.6 Randomized Primality Testing
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Part Three: Applications
Chapter 10: Fun and Games
10.1 Word Search Puzzles
10.2 The Game of Tic-Tac-Toe
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 11: Stacks and Compilers
11.1 Balanced-Symbol Checker
11.2 A Simple Calculator
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 12: Utilities
12.1 File Compression
12.2 A Cross-Reference Generator
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 13: Simulation
13.1 The Josephus Problem
13.2 Event-Driven Simulation
Summary
Key Concepts
Common Errors
On the Internet
Exercises
Chapter 14: Graphs and Paths
14.1 Definitions
14.2 Unweighted Shortest-Path Problem
14.3 Positive-Weighted, Shortest-Path Problem
14.4 Negative-Weighted, Shortest-Path Problem
14.5 Path Problems in Acyclic Graphs
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Part Four: Implementations
Chapter 15: Inner Classes and Implementation of ArrayList
15.1 Iterators and Nested Classes
15.2 Iterators and Inner Classes
15.3 The AbstractCollection Class
15.4 StringBuilder
15.5 Implementation of ArrayList with an Iterator
Summary
Key Concepts
Common Errors
On the Internet
Exercises
Chapter 16: Stacks and Queues
16.1 Dynamic Array Implementations
16.2 Linked List Implementations
16.3 Comparison of the Two Methods
16.4 The java.util.Stack Class
16.5 Double-Ended Queues
Summary
Key Concepts
Common Errors
On the Internet
Exercises
Chapter 17: Linked Lists
17.1 Basic Ideas
17.2 Java Implementation
17.3 Doubly Linked Lists and Circularly Linked Lists
17.4 Sorted Linked Lists
17.5 Implementing the Collections api LinkedList Class
Summary
Key Concepts
Common Errors
On the Internet
Exercises
Chapter 18: Trees
18.1 General Trees
18.2 Binary Trees
18.3 Recursion and Trees
18.4 Tree Traversal: Iterator Classes
Summary
Key Concepts
Common Errors
On the Internet
Exercises
Chapter 19: Binary Search Trees
19.1 Basic Ideas
19.2 Order Statistics
19.3 Analysis of Binary Search Tree Operations
19.4 AVL Trees
19.5 Red-Black Trees
19.6 AA-Trees
19.7 Implementing the Collections api TreeSet and TreeMap Classes
19.8 B-Trees
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 20: Hash Tables
20.1 Basic Ideas
20.2 Hash Function
20.3 Linear Probing
20.4 Quadratic Probing
20.5 Separate Chaining Hashing
20.6 Hash Tables versus Binary Search Trees
20.7 Hashing Applications
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 21: A Priority Queue: The Binary Heap
21.1 Basic Ideas
21.2 Implementation of the Basic Operations
21.3 The buildHeap Operation: Linear-Time Heap Construction
21.4 Advanced Operations: decreaseKey and merge
21.5 Internal Sorting: Heapsort
21.6 External Sorting
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Part Five: Advanced Data Structures
Chapter 22: Splay Trees
22.1 Self-Adjustment and Amortized Analysis
22.2 The Basic Bottom-Up Splay Tree
22.3 Basic Splay Tree Operations
22.4 Analysis of Bottom-Up Splaying
22.5 Top-Down Splay Trees
22.6 Implementation of Top-Down Splay Trees
22.7 Comparison of the Splay Tree with Other Search Trees
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 23: Merging Priority Queues
23.1 The Skew Heap
23.2 The Pairing Heap
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Chapter 24: The Disjoint Set Class
24.1 Equivalence Relations
24.2 Dynamic Equivalence and Applications
24.3 The Quick-Find Algorithm
24.4 The Quick-Union Algorithm
24.5 Java Implementation
24.6 Worst Case for Union-by-Rank and Path Compression
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Appendix A: Operators
Appendix B: Graphical User Interfaces
B.1 The Abstract Window Toolkit and Swing
B.2 Basic Objects in Swing
B.3 Basic Principles
Summary
Key Concepts
Common Errors
On the Internet
Exercises
References
Appendix C: Bitwise Operators
Index

Companion Website, 3/E
Weiss
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321366514 |
ISBN-13: 9780321366511
Companion Website, 3/E
Weiss
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321366514 |
ISBN-13: 9780321366511
Instructor's Manual with Solutions, 3/E
Weiss
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321335805 |
ISBN-13: 9780321335807
View Downloadable Files
Powerpoints, 3/E
Weiss
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321335791 |
ISBN-13: 9780321335791
View Downloadable Files
Source Code, 3/E
Weiss
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321335783 |
ISBN-13: 9780321335784
View Downloadable Files
Companion Website, 3/E
Weiss
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321366514 |
ISBN-13: 9780321366511
Companion Website, 3/E
Weiss
©2006 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321366514 |
ISBN-13: 9780321366511
Give your students a choice! PearsonChoices products are designed to give your students more value and flexibility by letting them choose from a variety of text and media formats to best match their learning style and their budget.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, see the Packages Tab.


Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.