Building on the widespread use of the Java programming language in industry and education, this book provides a broad-based and case-driven study of data structures -- and the algorithms associated with them -- using Java as the language of implementation. The book places special emphasis on the connection between data structures and their algorithms, including an analysis of the algorithms' complexity. It presents data structures in the context...