As an alternative to the survey approach taken by traditional data structures and algorithms books, "A Practical Guide to Data Structures and Algorithms using Java" presents a systematic, applications-centered approach to data structure design and its practical implementation. It covers a large number of data structures and algorithms, including many abstract data types (ADTs) not provided in standard Java libraries. Using numerous case studies, the book provides examples of how various data structures and algorithms can be applied. Appendices give an overview of the major features of the Java programming language, review asymptotic notation and complexity analysis, and discuss the design patterns illustrated throughout the book. The guidance and organization tools of this book will help readers quickly identify the most appropriate data structure or algorithm for their problem.