## Classic Data Structures in JavaWith this book, Tim Budd looks at data structures by providing a solid foundation on the ADT, and uses the graphical elements found in Java when possible. The beginning chapters provide the foundation on which everything else will be built. These chapters define the essential concept of the abstract data type (ADT), and describe the tools used in the evaluation and analysis of data structures. The book moves on to provide a detailed description of the two most important fundamental data abstractions, the vector and the linked list, providing an explanation of some of the more common variations on these fundamental ideas. Next, the material considers data structures applicable to problems in which the order that values are added to a collection is important, followed by a consideration of the various different ways in which binary trees are used in the creation of data structures. The last few chapters consider a sequence of more advanced data structures. Most are constructed as adaptors built on top of earlier abstractions. Hash tables are introduced first as a technique for implementing simple collections, and later as a tool for developing efficient maps. Lastly, the graph data t |

### What people are saying - Write a review

#### LibraryThing Review

User Review - tomhudson - LibraryThingI like the attempt to integrate design patterns and general ideas on code quality in the text, but this text completely overwhelmed the one student who tried using it in independent study. Read full review

### Contents

The Management of Complexity | 1 |

Abstract Data Types | 23 |

Algorithms | 49 |

Copyright | |

18 other sections not shown

### Common terms and phrases

addElement addLast array AVL tree binary search tree BinaryNode BitSet breadth-first search bubble sort buckets ButtonAdapter cards Chapter collection complete binary tree constructor container containsElement create data abstraction data fields data structure data type depth-first search deque described DoubleLink elementCount elementData Enumeration example execution FindMin graph hash function hash table heap implementation IndexedDeque input insertion sort int index integer integer value interface invariant isEmpty iteration Java linked list LinkedList loop matrix merge merge sort method move node null number of elements O(logn Object val oo oo operations path performed priority queue private class problem procedure public boolean public class public int public Object public static public void quick sort recursive remove removeFirst result right child sentinel sequence Shell sort shown in Figure simply simulation SkipList sort algorithm SortedList SortedVector stack stored String subtree technique traversal variable vector vertex