|Data Structures and Problem Solving Using Java||
Data Structures and Problem Solving Using Java
|96.20||approx. 7-9 days|
For the second or third programming course.
A practical and unique approach to data structures that separates interface from implementation.
This book provides a practical introduction to data structures with an emphasis on abstract thinking and problem solving, as well as the use of Java. It does this through what remains a unique approach that clearly separates each data structure’s interface (how to use a data structure) from its implementation (how to actually program that structure). Parts I (Tour of Java), II (Algorithms and Building Blocks), and III (Applications) lay the groundwork by discussing basic concepts and tools and providing some practical examples, while Part IV (Implementations) focuses on implementation of data structures. This forces the reader to think about the functionality of the data structures before the hash table is implemented.
The Fourth Edition features many new updates as well as new exercises.
Unique approach. Weiss separates the interface of a data structure (Part 2) from their implementations (Part 4) to motivate abstract thinking and problem solving. Students are then asked to use the data structures in Part 3 (Applications). While this book has some mathematical content, it is not overwhelming.
Incorporates new features of Java 6.0.
Provides an introduction to Java in Part I for readers without previous experience using Java.
Discusses advanced structures in Part V.
Provides an implementation of a large subset of the Collections API in Part IV.
Instructor’s Manual with Solutions
Teaching resources for instructors containing solutions to problems and exercises.
A set of slides covering all chapters, suitable for use in lecturing.
NEW. 120 new exercises.
NEW. This edition provides additional discussion on using classes (Chapter 2), writing classes (Chapter 3), and interfaces (Chapter 4).
NEW. Chapter 6 contains additional material discussing the running time of lists, the use of maps, andthe use of views in the Java Collections API.
NEW. The Scannerclass is described, and code throughout the text makes use of the Scanner class.
NEW. Chapter 9 describes and implements the 48-bit linear congruential generator that is part of both the Java and many C++ libraries.
NEW. Chapter 20 has new material on separate chaining hash tables and the StringhashCodemethod.
PART ONE: TOUR OF JAVA
Chapter 1: Primitive Java
Chapter 2: Reference Types
Chapter 3: Objects and Classes
Chapter 4: Inheritance
PART TWO: ALGORITHMS AND BUILDING BLOCKS
Chapter 5: Algorithm Analysis
Chapter 6: The Collections API
Chapter 7: Recursion
Chapter 8: Sorting Algorithms
Chapter 9: Randomization
PART THREE: APPLICATIONS
Chapter 10: Fun and Games
Chapter 11: Stacks and Compilers
Chapter 12: Utilities
Chapter 13: Graphs and Paths
PART FOUR: IMPLEMENTATIONS
Chapter 14: Inner Classes and Implementation of ArrayList
Chapter 15: Stacks and Queues
Chapter 16: Linked Lists
Chapter 17: Trees
Chapter 18: Binary Search Trees
Chapter 19: Hash Tables
Chapter 20: A Priority Queue: The Binary Heap
PART FIVE: ADVANCED DATA STRUCTURES
Chapter 21: Splay Trees
Chapter 22: Merging Priority Queues
Chapter 23: The Disjoint Set Class
APPENDIX A: Operators
APPENDIX B: Graphical User Interfaces
APPENDIX C: Bitwise Operators