Data Structures and Problem Solving Using C++
The most unique aspect of this text is the clear separation of the interface and implementation. C++ allows the programmer to write the interface and implementation separately, to place them in separate files and compile separately, and to hide the implementation details. This book goes a step further: the interface and implementation are discussed in separate parts of the book. Part I (Objects and C++), Part II (Algorithms and Building Blocks), and Part III (Applications) lay the groundwork by discussing basic concepts and tools and providing some practical examples, but implementation of data structures is not shown until Part IV (Implementations). This separation of interface and implementation promotes abstract thinking. Class interfaces are written and used before the implementation is known, forcing the reader to think about the functionality and potential efficiency of the various data structures (e.g., hash tables are written well before the hash table is implemented). Throughout the book, Weiss has included the latest features of the C++ programming language, including a more prevalent use of the Standard Template Library (STL). Features *Promotes abstract thinking by sepa
What people are saying - Write a review
We haven't found any reviews in the usual places.
Arrays Pointers and Structures
Objects and Classes
33 other sections not shown
algorithm auto_ptr AVL tree base class basic binary search tree bool operator Chapter char class interface class member class template compiler compute const Object const Rational const string contains copy constructor cout data members data structures declaration default defined derived class destructor discuss element empty endl error example findMax function object function template graph hash table implementation inheritance initialized input insertion sort IntCell integers istream linear linked list loop makeEmpty member function mergesort method node NULL output parameter path performed pointer postfix priority queue problem quadratic probing quicksort random numbers recursive recursive call red-black tree remove result root routine running Section sequence Shellsort shortest-path shown in Figure sorting algorithm stack stored storedValue subtree swap template class Comparable template class Object Theorem tion type conversion variable vector vertex virtual void write