If you're a student studying computer science or a software developer preparing for technical interviews, this practical book helps you learn and review the most important ideas in software engineering–data structures and algorithms–in a way that's clearer, more concise, and more engaging than other materials. You'll explore the important classes in the Java collections framework (JCF), how they're are implemented, and how they are expected to perform.By emphasizing practical knowledge and skills over theory, author Allen Downey shows you how to use data structures to implement efficient algorithms, and then analyze and measure their performance.You'll also: Learn good software engineering practices and modern data structuresGet an engaging case study–the design and implementation of a simple web search enginePractice software engineering skills by working on a series of engaging exercises in each chapter