Data structures and algorithms in java /

Goodrich, Michael T.

Data structures and algorithms in java / Data structures & algorithms in java / by Michael T.Goodrich and Roberto Tamassia - 3rd ed. - New Jersey : John Wiley, 2011c. - xxii, 710 p. : ill. ; 24 cm.

Index included

1 Java Primer. 1.1 Getting Started: Classes, Types, and Objects. 1.2 Methods. 1.3 Expressions. 1.4 Control Flow. 1.5 Arrays. 1.6 Simple Input and Output. 1.7 An Example Program. 1.8 Nested Classes and Packages. 1.9 Writing a Java Program. 1.10 Exercises. 2 Object-Oriented Design. 2.1 Goals, Principles, and Patterns. 2.2 Inheritance and Polymorphism. 2.3 Exceptions. 2.4 Interfaces and Abstract Classes. 2.5 Casting and Generics. 2.6 Exercises. 3 Indices, Nodes, and Recursion. 3.1 Using Arrays. 3.2 Singly Linked Lists. 3.3 Doubly Linked Lists. 3.4 Circularly Linked Lists and Linked-List Sorting. 3.5 Recursion. 3.6 Exercises. 4 Analysis Tools. 4.1 The Seven Functions Used in This Book. 4.2 Analysis of Algorithms. 4.3 Simple Justification Techniques. 4.4 Exercises. 5 Stacks, Queues, and Deques. 5.1 Stacks. 5.2 Queues. 5.3 Double-Ended Queues. 5.4 Exercises. 6 List and Iterator ADTs. 6.1 Array Lists. 6.2 Node Lists. 6.3 Iterators. 6.4 List ADTs and the Collections Framework. 6.5 Case Study: The Move-to-Front Heuristic. 6.6 Exercises. 7 Trees. 7.1 General Trees. 7.2 Tree Traversal Algorithms. 7.3 Binary Trees. 7.4 Exercises. 8 Heaps and Priority Queues. 8.1 The Priority Queue Abstract Data Type. 8.2 Implementing a Priority Queue with a List. 8.3 Heaps. 8.4 Adaptable Priority Queues. 8.5 Exercises. 9 Hash Tables, Maps, and Skip Lists. 9.1 Maps. 9.2 Hash Tables. 9.3 Ordered Maps. 9.4 Skip Lists. 9.5 Dictionaries. 9.6 Exercises. 10 Search Trees. 10.1 Binary Search Trees. 10.2 AVL Trees. 10.3 Splay Trees. 10.4 (2,4) Trees. 10.5 Red-Black Trees. 10.6 Exercises. 11 Sorting, Sets, and Selection. 11.1 Merge-Sort. 11.2 Quick-Sort. 11.3 Studying Sorting through an Algorithmic Lens. 11.4 Sets and Union/Find Structures. 11.5 Selection. 11.6 Exercises. 12 Strings and Dynamic Programming. 12.1 String Operations. 12.2 Dynamic Programming. 12.3 Pattern Matching Algorithms. 12.4 Text Compression and the Greedy Method. 12.5 Tries. 12.6 Exercises. 13 Graph Algorithms. 13.1 Graphs. 13.2 Data Structures for Graphs. 13.3 Graph Traversals. 13.4 Directed Graphs. 13.5 Shortest Paths. 13.6 Minimum Spanning Trees. 13.7 Exercises. 14 Memory Management and B-Trees. 14.1 Memory Management. 14.2 External Memory and Caching. 14.3 External Searching and B-Trees. 14.4 External-Memory Sorting. 14.5 Exercises. A Useful Mathematical Facts. Bibliography. Index.

This fifth edition incorporates the object-oriented design paradigm, using Java as the implementation language, while also providing intuition and analysis of fundamental data algorithms.

9780470398807 (pbk)


Java (Computer program language)

005.133 / GOD-D 2011 1286