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.