Provides instructors and students with a carefully crafted and class-tested approach for teaching ADTs and objects with Java.
Allows students to learn the distinction between design specification and implementation. Allows instructor to cover topics sequentially or delay coverage of implementation chapters.
Helps students focus their attention on one issue at a time. Gives students visual cues to identify the segments via segment numbers and the design of the book. Encourages students to master each segment before continuing and gives them a sense of progress and organization.
Helps make the presentation much more visual and less imposing then other books.
Emphasizes key material and provides supplementary comments.
Gives students additional programming advice.
Encourages students to practice the concepts and helps them discover the implications of what they just read.
Shows students the standard documentation style for Java programs.
Gives students a visual learning aid beyond the text.
Written for an introductory course in data structures, typically known as CS-2, this book was designed and built from the ground up with Java and objects in mind. Frank Carrano and Walter Savitch provide instructors and students with a carefully crafted and class-tested approach for teaching ADTs and objects with Java. The book's unique design organizes material in short segments and relatively small chapters. This approach makes learning easier and allows for teaching flexibility. The book shows students how to organize their data by using a list, a dictionary, a stack, a queue, and so on. Using these data organizations, students will learn about related techniques for algorithm development.FEATURES
1. Java Classes.
2. Creating Classes from Other Classes.
3. Designing Classes.
5. List Implementations That Use Arrays.
6. List Implementations That Link Data.
8. Java's Iterator Interfaces.
9. The Efficiency of Algorithms.
11. An Introduction to Sorting.
12. Faster Sorting Methods.
13. Sorted Lists.
14. Inheritance and Lists.
15. Mutable, Immutable, and Cloneable Objects.
18. Dictionary Implementations.
19. Hashing as a Dictionary Implementation.
21. Stack Implementations.
22. Queues, Deques, and Priority Queues.
23. Queue, Deque, and Priority Queue Implementations.
25. Tree Implementations.
26. A Binary Search Tree Implementation.
27. A Heap Implementation.
28. Balanced Search Trees.
30. Graph Implementations.
Appendix A: Java Essentials.
Appendix B: Exception Handling.
Appendix C: File I/O.
Appendix D: Documentation and Programming Style.
Appendix E: Java Resources.
Appendix F: Answers to Self-Test Questions.
Inside covers (end papers).
Unicode Character Codes.