Description
This text combines a strong emphasis on problem solving and software design with the study of data structures. To this end, the authors discuss applications of each data structure to motivate its study. After providing the specification (interface) and the implementation (a Java class)case studies that use the data structure to solve a significant problem are introduced.
Data Structures:Abstraction and Design Using Java, 2e lays the foundation for programmers to build their skills. The focus is placed on how to implement effective programs instead of producing mathematical proofs. The coverage is updated and streamlined to provide a more accessible approach to programming. They’ll be able to develop a thorough understanding of basic data structures and algorithms through an objects-first approach. Data structures are discussed in the context of software engineering principles. Updated case studies also show programmers how to apply essential design skills and concepts.
Features
Combines a strong emphasis on problem solving and software design with the study of data structures. To this end, the authors discuss applications of each data structure to motivate its study. After providing the specification (interface) and the implementation (one or more Java classes) we then cover case studies that use the data structure to solve significant problems.
Focuses on implementing effective programs using the Java Collections Framework and the classes in the framework. The code for these classes follows closely that which is provided in the framework and is not a conversion of code in other programming languages.
Over 20 case studies follow a five-step process (problem specification, analysis, design, implementation, and testing)
Many problems have extensive discussions of testing and include classes and driver methods for testing solutions to case studies.
Extensive pedagogy to assist inexperienced programmers in learning the material including boxes on Programming Pitfalls, Design concepts, and Programming Practice; Syntax boxes for quick reference; and self-check and end-of-section exercises for immediate feedback and practice
New To This Edition
The coverage is updated and streamlined to provide a more accessible approach and to enable students to begin studying the Collections Framework earlier than before (Chapter 2 in the new edition).
Change in emphasis from a software engineering approach to laying a foundation
New Chapters 1 and 2 which reorganize and consolidate concepts discussed in Ch 1-4 of the first edition and enable students to begin studying object-oriented programming and data structures earlier.
New appendix on Unit Testing with discussion of latest version of JUnit and jGRASP.
New programming projects/exercises in many chs
Chapter 4 on queues has a new section on the Java 6 Deque.
Chapter 9 on balanced trees has expanded coverage of B-trees and a new section on Java 6 SkipList.
Replaced most uses of the BufferedReader class and its methods with Scanner methods.
Replaced use of StringTokenizer class with Java 6 methods String.split and Scanner.findInLine.
Table of Contents Chapter 1 Object-Oriented Programming and Class Hierarchies. Chapter 2 Lists and the Collections Framework. Chapter 3 Stacks. Chapter 4 Queues. Chapter 5 Recursion. Chapter 6 Trees. Chapter 7 Sets and Maps. Chapter 8 Sorting. Chapter 9 Self-Balancing Search Trees. Chapter 10 Graphs.