Preface

This second edition of Data Structures and Algorithms in C++ is designed to provide an introduction to data structures and algorithms, including their design, analysis, and implementation. In terms of curricula based on the IEEE/ACM 2001 Computing Curriculum, this book is appropriate for use in the courses CS102 (I/O/B versions), CS103 (I/O/B versions), CS111 (A version), and CS112 (A/I/O/F/H versions). We discuss its use for such courses in more detail later in this preface.

The major changes in the second edition are the following:

  • We added more examples of data structure and algorithm analysis.

  • We enhanced consistency with the C++ Standard Template Library (STL).

  • We incorporated STL data structures into many of our data structures.

  • We added a chapter on arrays, linked lists, and iterators (Chapter 3).

  • We added a chapter on memory management and B-trees (Chapter 14).

  • We enhanced the discussion of algorithmic design techniques, like dynamic programming and the greedy method.

  • We simplified and reorganized the presentation of code fragments.

  • We have introduced STL-style iterators into our container classes, and have presented C++ implementations for these iterators, even for complex structures such as hash tables and binary search trees.

  • We have modified our priority-queue interface to use STL-style comparator objects.

  • We expanded and revised exercises, continuing our approach of dividing them into reinforcement, creativity, and project exercises.

This book is related to the following ...

Get Data Structures and Algorithms in C++, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.