text.skipToContent text.skipToNavigation
  1. Home
  2. Computer Science & IT
  3. Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching

Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching, 3rd edition

  • Robert Sedgewick

Published by Addison-Wesley Professional (July 13th 1998) - Copyright © 1999

3rd edition

Chosen format
View all
Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching

ISBN-13: 9780201350883

Includes: Paperback
Free delivery

What's included

  • Paperback

    You'll get a bound printed text.


Instructors, please visit http://algs4.cs.princeton.edu/home/ for companion content and information on requesting instructor resources

  • For this version of Robert Sedgewick's popular textbook on algorithms and data structures, Christopher Van Wyk and Robert Sedgewick have developed new C++ implementations that both express the presented methods in a concise and direct manner, and also provide students with the practical means to test them on real applications.
  • This particular book, Parts 1-4, represents a substantial update of the first half of Sedgewick's complete work. It provides extensive coverage of fundamental data structures and algorithms for sorting, searching, and related applications. The update features expanded coverage of arrays, linked lists, strings, trees, and other basic data structures, and greater emphasis on abstract data types (ADTs), modular programming, object-oriented programming, and C++ classes than in previous editions. It includes over 100 algorithms for sorting, selection, priority queue ADT implementations, and symbol table ADT (searching) implementations, and over 1,000 new exercises to help students learn the properties of algorithms.


Table of contents


1. Introduction.


A Sample Problem-Connectivity.

Union-Find Algorithms.


Summary of Topics.
2. Principles of Algorithm Analysis.

Implementation and Empirical Analysis.

Analysis of Algorithms.

Growth of Functions.

Big-Oh Notation.

Basic Recurrences.

Examples of Algorithm Analysis.

Guarantees, Predictions, and Limitations.


3. Elementary Data Structures.

Building Blocks.


Linked Lists.

Elementary List Processing.

Memory Allocation for Lists.


Compound Data Structures.
4. Abstract Data Types.

Abstract Objects and Collections of Objects.

Pushdown Stack ADT.

Examples of Stack ADT Clients.

Stack ADT Implementations.

Creation of a New ADT.

FIFO Queues and Generalized Queues.

Duplicate and Index Items.

First-Class ADTs.

Application-Based ADT Example.

5. Recursion and Trees.

Recursive Algorithms.

Divide and Conquer.

Dynamic Programming.


Mathematical Properties of Trees.

Tree Traversal.

Recursive Binary-Tree Algorithms.

Graph Traversal.



6. Elementary Sorting Methods.

Rules of the Game.

Selection Sort.

Insertion Sort.

Bubble Sort.

Performance Characteristics of Elementary Sorts.


Sorting Other Types of Data.

Index and Pointer Sorting.

For teachers

All the material you need to teach your courses.

Discover teaching material