For freshman-, sophomore-, or junior-level courses in Computer Science, Data Structures, and Algorithms in the departments of Computer Science, Computer Engineering, Computer Information Systems, and Business Information Systems. This modern object-oriented approach to data structures helps students make the transition from a first course in programming to an integrated understanding of data structures and their applications. Carefully developing topics with sufficient detail, this text enables students to learn about concepts on their own, offering instructors flexibility and allowing them to use the text as lecture reinforcement. It includes a solid introduction to algorithms, an integral part of understanding data structures, and uses Java syntax and structure in the design of data structures. Its breadth of coverage insures that core topics such as linked lists, sets, maps, and iterators are carefully and comprehensively discussed.