Includes bibliographical references (pages 997-1004) and index.
pt. I. Introduction -- Design principles -- Selecting an abstract data type -- How to use this book -- pt. II. Collection data structures and algorithms -- Part II organization -- Foundations -- Partition ADT and the union-find data structure -- Collection of elements -- Abstract collection -- Positional collection ADT -- Abstract positional collection -- Array data structure -- Circular array data structure -- Dynamic array and dynamic circular array data structures -- Tracked array data structure -- Singly linked list data structure -- Doubly linked list data structure -- Buffer ADT and its implementation -- Queue ADT and implementation -- Stack ADT and implementation -- Set ADT -- Direct addressing data structure -- Open addressing data structure -- Separate chaining data structure -- Priority queue ADT -- Binary heap data structure -- Leftist heap data structure -- Pairing heap data structure -- Fibonacci heap data structure -- Ordered collection ADT -- Sorted array data structure -- Abstract search tree class -- Binary search tree data structure -- Balanced binary search trees -- Red-black tree data structure -- Splay tree data structure -- B-tree data structure -- B+-tree data structure -- Skip list data structure -- Digitized ordered collection ADT -- Trie node types -- Trie data structure -- Compact trie data structure -- Compressed trie data structure -- Patricia trie data structure -- Ternary search trie data structure -- Spatial collection ADT -- KD-tree data structure -- Quad tree data structure -- Tagged collection ADTs -- Tagged bucket collection ADTs -- pt. III. Graph data structures and algorithms -- Part III organization -- Graph ADT -- Abstract graph and graph algorithms -- Adjacency matrix data structure -- Adjacency list data structure -- Weighted graph ADT -- Abstract weighted graph and weighted graph algorithms -- pt. IV. Appendices: A. Java fundamentals -- B. Complexity analysis -- C. Design patterns illustrated in this book.
0
Although traditional texts present isolated algorithms and data structures, they do not provide a unifying structure and offer little guidance on how to appropriately select among them. Furthermore, these texts furnish little, if any, source code and leave many of the more difficult aspects of the implementation as exercises. A fresh alternative to conventional data structures and algorithms books, A Practical Guide to Data Structures and Algorithms using Java presents comprehensive coverage of fundamental data structures and algorithms in a unifying framework with full implementation details. Recognizing that software development is a top-down process, this applications-centered book provides careful guidance to students and practitioners. Complete and thoroughly integrated Java implementations expose key differences among a wide range of important data structures, including many useful abstract data types not provided in standard Java libraries. Fundamental algorithms appear within the context of their supporting data structures. Case studies, examples, decision trees, and comparison charts throughout the stylized presentation illustrate and support an efficient methodology for the careful selection and application of data structures and algorithms. Appendices summarize major features of the Java programming language, introduce asymptotic notation and complexity analysis, and discuss design patterns applied in the book. A true marriage of theory and practice, this book sets a new standard as a comprehensive practical guide to data structures and algorithms. Practitioners and students will reach for this book often to quickly identify the best data structure or algorithm for their applications.
Safari Books Online
CL0500000655
Practical guide to data structures and algorithms using Java.