Data Structures and Problem Solving with C++

  • Authors:
  • Mark Allen Weiss

  • Affiliations:
  • -

  • Venue:
  • Data Structures and Problem Solving with C++
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

From the Publisher: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 separating the interface and implementation of the data structures into different parts of the book All code is completely rewritten and tested for compatibility with a wide range of current compilers Revised material makes use of the STL whenever appropriate Rewritten material on inheritance simplifies the initial presentation and provides the C++ details that are important for advanced uses Includes a new chapter on Patterns Provides new material ontemplates, vectors, and push_back Illustrates both the generic interfaces and STL interfaces of data structures Generic data structures such as linked lists classes, search tree and hash table classes, priority_queue, and disjoint sets class are rewritten to be much simpler and cleaner A simplified STL implementation is illustrated at the end of the chapters in Part IV, including vector, list, stack, queue, set, map, and priority_queue