Data Structures and Algorithms in Java / Edition 5
by Michael T. Goodrich, Roberto TamassiaView All Available Formats & Editions
ISBN-10: 0470383267
ISBN-13: 9780470383261
Pub. Date: 01/07/2010
Publisher: Wiley
* This newest edition examines fundamental data structures by following a consistent object-oriented framework that builds intuition and analysis skills of data structures and algorithms
* Presents new figures, simpler language, and more practical motivations from real-world scenarios
* Numerous illustrations, Web-based animations, and simplified
Overview
* This newest edition examines fundamental data structures by following a consistent object-oriented framework that builds intuition and analysis skills of data structures and algorithms
* Presents new figures, simpler language, and more practical motivations from real-world scenarios
* Numerous illustrations, Web-based animations, and simplified mathematical analyses help readers quickly learn important concepts
Product Details
- ISBN-13:
- 9780470383261
- Publisher:
- Wiley
- Publication date:
- 01/07/2010
- Edition description:
- Fifth Edition
- Pages:
- 714
- Product dimensions:
- 7.70(w) x 9.30(h) x 1.20(d)
Table of Contents
| 1 | Java Programming | 1 |
| 1.1 | Classes, Types, and Objects | 3 |
| 1.2 | Methods | 11 |
| 1.3 | Expressions | 17 |
| 1.4 | Control Flow | 25 |
| 1.5 | Arrays | 32 |
| 1.6 | Simple Input and Output | 33 |
| 1.7 | An Example Program | 36 |
| 1.8 | Packages | 40 |
| 1.9 | Writing a Java Program | 42 |
| 1.10 | Utilities in the java.lang Package | 49 |
| 1.11 | Exercises | 51 |
| 2 | Object-Oriented Design | 55 |
| 2.1 | Goals and Principles | 56 |
| 2.2 | Inheritance and Polymorphism | 62 |
| 2.3 | Exceptions | 76 |
| 2.4 | Interfaces and Abstract Classes | 80 |
| 2.5 | Casting | 84 |
| 2.6 | Design Patterns | 89 |
| 2.7 | Exercises | 92 |
| 3 | Analysis Tools | 97 |
| 3.1 | What Is Running Time Anyway? | 98 |
| 3.2 | Pseudo-Code | 100 |
| 3.3 | A Quick Mathematical Review | 103 |
| 3.4 | Simple Justification Techniques | 106 |
| 3.5 | Analysis of Algorithms | 111 |
| 3.6 | Asymptotic Notation | 114 |
| 3.7 | Asymptotic Analysis | 120 |
| 3.8 | Exercises | 126 |
| 4 | Stacks, Queues, and Deques | 135 |
| 4.1 | Stacks | 136 |
| 4.2 | Queues | 149 |
| 4.3 | Linked Lists | 159 |
| 4.4 | Double-Ended Queues | 166 |
| 4.5 | Sample Case Study Application | 173 |
| 4.6 | Exercises | 179 |
| 5 | Vectors, Lists, and Sequences | 183 |
| 5.1 | Vectors | 185 |
| 5.2 | Lists | 194 |
| 5.3 | Sequences | 206 |
| 5.4 | Case Study: Bubble-Sort on a Sequence | 211 |
| 5.5 | Iterators | 214 |
| 5.6 | A Hierarchy of Sequence ADTs | 216 |
| 5.7 | Exercises | 219 |
| 6 | Trees | 227 |
| 6.1 | The Tree Abstract Data Type | 229 |
| 6.2 | Basic Algorithms on Trees | 236 |
| 6.3 | Binary Trees | 246 |
| 6.4 | Data Structures for Representing Trees | 263 |
| 6.5 | Exercises | 274 |
| 7 | Priority Queues | 285 |
| 7.1 | The Priority Queue Abstract Data Type | 287 |
| 7.2 | Implementing a Priority Queue with a Sequence | 295 |
| 7.3 | Heaps | 301 |
| 7.4 | The Locator Design Pattern | 319 |
| 7.5 | Exercises | 326 |
| 8 | Dictionaries | 333 |
| 8.1 | The Dictionary Abstract Data Type | 335 |
| 8.2 | Log Files | 340 |
| 8.3 | Hash Tables | 341 |
| 8.4 | The Ordered Dictionary ADT | 357 |
| 8.5 | Look-Up Tables | 358 |
| 8.6 | Skip Lists | 362 |
| 8.7 | Supporting Locators in a Dictionary | 370 |
| 8.8 | Exercises | 373 |
| 9 | Search Trees | 379 |
| 9.1 | Binary Search Trees | 382 |
| 9.2 | AVL Trees | 393 |
| 9.3 | Multi-Way Search Trees | 404 |
| 9.4 | (2,4) Trees | 408 |
| 9.5 | Red-Black Trees | 416 |
| 9.6 | External Searching | 434 |
| 9.7 | Exercises | 439 |
| 10 | Sorting, Sets, and Selection | 447 |
| 10.1 | Merge-Sort | 448 |
| 10.2 | The Set ADT | 461 |
| 10.3 | Quick-Sort | 467 |
| 10.4 | A Lower Bound on Comparison-Based Sorting | 478 |
| 10.5 | Bucket-Sort and Radix-Sort | 480 |
| 10.6 | Comparison of Sorting Algorithms | 483 |
| 10.7 | Selection | 484 |
| 10.8 | Exercises | 488 |
| 11 | Text Processing | 495 |
| 11.1 | String Operations | 497 |
| 11.2 | Pattern Matching Algorithms | 500 |
| 11.3 | Tries | 512 |
| 11.4 | Text Compression | 523 |
| 11.5 | Text Similarity Testing | 526 |
| 11.6 | Exercises | 531 |
| 12 | Graphs | 537 |
| 12.1 | The Graph Abstract Data Type | 539 |
| 12.2 | Data Structures for Graphs | 547 |
| 12.3 | Graph Traversal | 557 |
| 12.4 | Directed Graphs | 570 |
| 12.5 | Weighted Graphs | 584 |
| 12.6 | Shortest Paths | 585 |
| 12.7 | Minimum Spanning Trees | 596 |
| 12.8 | Exercises | 606 |
| A Useful Mathematical Facts | 617 | |
| Bibliography | 625 | |
| Index | 630 |
Customer Reviews
Average Review:
