About the Book
This book is an update of the classic
“Walls and Mirrors” approach to programming, which instills the use of
both abstraction (the walls) and recursion (the mirrors) to design solutions
to problems. Data Abstraction and Problem Solving with Java: Walls and
Mirrors provides a focus on the important concepts of data abstraction
and data structures in a manner accessible to students at the introductory
level. The book carefully accounts for the strengths and weaknesses of
the Java language and is committed to a pedagogical approach that makes
the material student friendly. The focus of this book is data abstraction,
as well as key object-oriented concepts, including encapsulation, inheritance,
and polymorphism.
Features
-
Provides a firm foundation in data abstraction,
emphasizing the distinction between specification and implementation as
the foundation for an object-oriented approach.
-
Offers extensive coverage of recursion and
uses the technique throughout many examples and exercises.
-
Presents specifications for all major ADTs
in both English and pseudocode.
-
Contains examples that illustrate the role
of classes and ADTs in the problem-solving process.
-
Includes carefully designed, student-friendly
pedagogy, including margin notes, key concept boxes, error and misconception
warnings, and self-test exercises with answers.
-
Includes a Java appendix as a primer or reference.
Related
Books
Data Structures - Programming
Courses (Data Structures)
Table of Contents
I. PROBLEM-SOLVING TECHNIQUES.
1. Principles of Programming and Software
Engineering.
2. Recursion: The Mirrors.
3. Data Abstraction: The Walls.
4. Linked Lists.
5. Recursion as a Problem-Solving
Technique.
II. PROBLEM SOLVING WITH ABSTRACT
DATA TYPES.
6. Stacks.
7. Queues.
8. Class Relationships.
9. Algorithm Efficiency and Sorting.
10. Trees.
11. Tables and Priority Queues.
12. Advanced Implementation of Tables.
13. Graphs.
14. External Methods.
Appendix A: Review of Java Fundamentals.
Appendix B: Unicode Character Codes.
Appendix C: Java Resources on the
WWW.
Appendix D: Mathematical Induction. |