
Schaum's Outline of Data Structures with Java / Edition 2
by John R. HubbardISBN-10: 0071476989
ISBN-13: 9780071476980
Pub. Date: 06/28/2007
Publisher: McGraw-Hill Companies, The
You can catch up on the latest developments in the number one, fastest-growing programming language in the world with this fully updated Schaum's guide. Schaum's Outline of Data Structures with Java has been revised to reflect all recent advances and changes in the language.
Overview
You can catch up on the latest developments in the number one, fastest-growing programming language in the world with this fully updated Schaum's guide. Schaum's Outline of Data Structures with Java has been revised to reflect all recent advances and changes in the language.
Product Details
- ISBN-13:
- 9780071476980
- Publisher:
- McGraw-Hill Companies, The
- Publication date:
- 06/28/2007
- Series:
- Schaum's Outline Series
- Edition description:
- Revised
- Pages:
- 384
- Product dimensions:
- (w) x 10.40(h) x 0.64(d)
Table of Contents
Chapter 1 | Review of Java | 1 |
1.1 | Object-Oriented Programming | 1 |
1.2 | The Java Programming Language | 1 |
1.3 | Variables and Objects | 1 |
1.4 | Primitive Types | 3 |
1.5 | Flow Control | 4 |
1.6 | Classes | 7 |
1.7 | Modifiers | 9 |
1.8 | The String Class | 10 |
1.9 | The Math Class | 13 |
Chapter 2 | Review of Arrays | 23 |
2.1 | Properties of Arrays | 23 |
2.2 | Duplicating an Array | 24 |
2.3 | The Arrays Class | 25 |
2.4 | The Sequential Search Algorithm | 28 |
2.5 | The Binary Search Algorithm | 31 |
2.6 | The Vector Class | 33 |
Chapter 3 | Advanced Java | 53 |
3.1 | Inheritance | 53 |
3.2 | Polymorphism | 54 |
3.3 | Type Conversion | 55 |
3.4 | The Object Class | 58 |
3.5 | Abstract Classes | 60 |
3.6 | Interfaces | 63 |
3.7 | Packages | 66 |
3.8 | Exception Handling | 67 |
Chapter 4 | Recursion | 73 |
4.1 | The Basis and Recursive Parts of Recursion | 74 |
4.2 | Tracing a Recursive Call | 75 |
4.3 | The Recursive Binary Search Algorithm | 75 |
4.4 | Binomial Coefficients | 78 |
4.5 | The Euclidean Algorithm | 79 |
4.6 | Inductive Proof of Correctness | 79 |
4.7 | Complexity Analysis of Recursive Algorithms | 80 |
4.8 | Dynamic Programming | 81 |
4.9 | The Towers of Hanoi | 82 |
4.10 | Mutual Recursion | 83 |
Chapter 5 | Collections | 94 |
5.1 | The Java Collections Framework | 94 |
5.2 | The Collection Interface | 95 |
5.3 | The AbstractCollection Class | 95 |
5.4 | A Bag Class | 96 |
5.5 | The Iterator Interface | 103 |
Chapter 6 | Stacks | 109 |
6.1 | The Java Stack Class | 109 |
6.2 | Applications of Stacks | 112 |
6.3 | Removing Recursion | 115 |
Chapter 7 | Queues | 123 |
7.1 | A Framework for Queues | 123 |
7.2 | A Contiguous Implementation | 126 |
7.3 | A Linked Implementation | 129 |
7.4 | Simulation with Queues | 130 |
Chapter 8 | Lists | 144 |
8.1 | The java.util.List Interface | 144 |
8.2 | Implementations of the java.util.List Interface | 146 |
8.3 | The AbstractList and AbstractSequentialList Classes | 146 |
8.4 | List Iterators | 148 |
8.5 | The ArrayList Class | 149 |
8.6 | The LinkedList Class | 150 |
8.7 | Independent List Iterators | 160 |
Chapter 9 | Trees | 166 |
9.1 | Tree Definitions | 167 |
9.2 | Decision Trees and Transition Diagrams | 169 |
9.3 | Ordered Trees | 172 |
9.4 | Tree Traversal Algorithms for Ordered Trees | 172 |
Chapter 10 | Binary Trees | 181 |
10.1 | Definitions | 181 |
10.2 | Counting Binary Trees | 182 |
10.3 | Full Binary Trees | 183 |
10.4 | Identity, Equality, and Isomorphism | 184 |
10.5 | Complete Binary Trees | 186 |
10.6 | Binary Tree Traversal Algorithms | 187 |
10.7 | Expression Trees | 190 |
10.8 | A BinaryTree Class | 192 |
10.9 | Implementations of the Traversal Algorithms | 196 |
10.10 | Forests | 199 |
Chapter 11 | Search Trees | 210 |
11.1 | Multiway Search Trees | 210 |
11.2 | B-Trees | 212 |
11.3 | Binary Search Trees | 214 |
11.4 | Performance Characteristics of Binary Search Trees | 216 |
11.5 | AVL Trees | 216 |
11.6 | An AVLTree Class | 217 |
Chapter 12 | Heaps and Priority Queues | 225 |
12.1 | Heaps | 225 |
12.2 | The Natural Mapping | 225 |
12.3 | Insertion into a Heap | 226 |
12.4 | Removal from a Heap | 227 |
12.5 | A PriorityQueue Class | 228 |
12.6 | The Java Comparator Interface | 229 |
12.7 | A Direct Implementation | 231 |
Chapter 13 | Sorting | 243 |
13.1 | The Java Arrays.sort() Method | 243 |
13.2 | The Bubble Sort | 244 |
13.3 | The Selection Sort | 245 |
13.4 | The Insertion Sort | 246 |
13.5 | The Shell Sort | 247 |
13.6 | The Merge Sort | 249 |
13.7 | The Quick Sort | 252 |
13.8 | The Heap Sort | 254 |
13.9 | The Speed Limit for Comparison Sorts | 258 |
13.10 | The Radix Sort | 259 |
13.11 | The Bucket Sort | 261 |
Chapter 14 | Tables | 275 |
14.1 | The Java Map Interface | 275 |
14.2 | The HashMap Class | 276 |
14.3 | Java Hash Codes | 277 |
14.4 | Hash Tables | 278 |
14.5 | Hash Table Performance | 280 |
14.6 | Collision Resolution Algorithms | 280 |
14.7 | Separate Chaining | 283 |
14.8 | Applications | 284 |
14.9 | The TreeMap Class | 286 |
Chapter 15 | Sets | 293 |
15.1 | Mathematical Sets | 293 |
15.2 | The Java Set Interface | 294 |
15.3 | The Java AbstractSet Class | 294 |
15.4 | The Java HashSet Class | 295 |
15.5 | The Java TreeSet Class | 297 |
Chapter 16 | Graphs | 301 |
16.1 | Simple Graphs | 301 |
16.2 | Graph Terminology | 301 |
16.3 | Paths and Cycles | 302 |
16.4 | Isomorphic Graphs | 304 |
16.5 | The Adjacency Matrix for a Graph | 306 |
16.6 | The Incidence Matrix for a Graph | 306 |
16.7 | The Adjacency List for a Graph | 307 |
16.8 | Digraphs | 308 |
16.9 | Paths in a Digraph | 310 |
16.10 | Weighted Digraphs and Graphs | 310 |
16.11 | Euler and Hamiltonian Paths and Cycles | 311 |
16.12 | Dijkstra's Algorithm | 312 |
16.13 | Graph Traversal Algorithms | 316 |
Appendix A | Essential Mathematics | 333 |
A.1 | The Floor and Ceiling Function | 333 |
A.2 | Logarithms | 333 |
A.3 | Complexity Classes | 335 |
A.4 | The First Principle of Mathematical Induction | 336 |
A.5 | The Second Principle of Mathematical Induction | 337 |
A.6 | Geometric Series | 338 |
A.7 | Summation Formulas | 339 |
A.8 | Harmonic Numbers | 339 |
A.9 | Stirling's Formula | 341 |
A.10 | The Fibonacci Numbers | 342 |
A.11 | The Golden Mean | 342 |
A.12 | The Euclidean Algorithm | 343 |
A.13 | The Catalan Numbers | 344 |
Appendix B | From C++ to Java | 353 |
Appendix C | Java Development Environments | 356 |
C.1 | The Windows Command Prompt | 356 |
C.2 | Visual Cafe from Webgain | 356 |
Appendix D | References | 361 |
Index | 365 |
Customer Reviews
Average Review: