Data Structures and Problem Solving Using C++, 2/E
Mark Allen Weiss, Florida International University

ISBN-10: 020161250X
ISBN-13: 9780201612509

Publisher: Addison-Wesley
Copyright: 2000
Format: Paper; 879 pp
Published: 11/23/1999

Suggested retail price: $95.00
Buy from myPearsonStore

Data Structures and Problem Solving Using C++ provides a practical introduction to data structures and algorithms from the viewpoint of abstract thinking and problem solving, as well as the use of C++. It is a complete revision of Weiss' successful CS2 book Algorithms, Data Structures, and Problem Solving with 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).

  • Promotes abstract thinking by separating the interface, Part II, and implementation, Part IV, of the data structures into different parts of the book.
  • Includes a new chapter on Patterns.
  • Revised material makes use of the STL whenever appropriate.
  • 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.
  • All code is completely rewritten and tested for compatibility with a wide range of current compilers.
  • Rewritten material on inheritance simplifies the initial presentation and provides the C++ details that are important for advanced uses.
  • Provides new material on templates, 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.

I. OBJECTS AND C++.

 1. Arrays, Pointers, and Structures.

 2. Objects and Classes.

 3. Templates.

 4. Inheritance.

 5. Design Patterns.

II. ALGORITHMS AND BUILDING BLOCKS.

 6. Algorithm Analysis.

 7. The Standard Template Library.

 8. Recursion.

 9. Sorting Algorithms.

10. Randomization.

III. APPLICATIONS.

11. Fun and Games.

12. Stacks and Compilers.

13. Utilities.

14. Simulation.

15. Graphs and Paths.

IV. IMPLEMENTATIONS.

16. Stacks and Queues.

17. Linked Lists.

18. Trees.

19. Binary Search Trees.

20. Hash Tables.

21. A Priority Queue: The Binary Heap.

V. ADVANCED DATA STRUCTURES.

22. Splay Trees.

23. Merging Priority Queues.

24. The Disjoint Set Class.

Appendix A: Miscellaneous C++ Details

Appendix B: Operators.

Appendix C: Some Library Routines.

Appendix D: Primitive Arrays in C++

Mark Allen Weiss is a Professor in the School of Computer Science at Florida International University. He received his Ph.D. in Computer Science from Princeton University where he studied under Robert Sedgewick. Dr.Weiss has received FIU's Excellence in Research Award, as well as the Teaching Incentive Program Award, which was established by the Florida Legislature to recognize teaching excellence. Mark Allen Weiss is on the Advanced Placement Computer Science Development Committee. He is the successful author of Algorithms, Data Structures, and Problem Solving with C++ and the series Data Structures and Algorithm Analysis in Pascal, Ada, C, and C++, with Addison-Wesley.



020161250XAB04062001

Data Structures and Problem Solving Using C++ provides a practical introduction to data structures and algorithms from the viewpoint of abstract thinking and problem solving, as well as the use of C++. It is a complete revision of Weissi successful CS2 book Algorithms, Data Structures, and Problem Solving with 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 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 on templates, 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


020161250XB04062001

View a Sample Chapter PDF:

  • Online Instructor's Manual, 2/E
    Weiss
    © 2000 | Addison-Wesley | On-line Supplement | Estimated Availability: 01/01/2000
    ISBN-10: 0321341937 | ISBN-13: 9780321341938
    View Downloadable Files

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.


Copyright ©2008 Pearson Education. All rights reserved. Legal Notice | Privacy Policy | Permissions