Overview

This book is intended to survey the most important algorithms and data structures in use today, and to teach fundamental programming techniques. It can be used as a textbook for the courses in computer science, after students have acquired basic programming skills especially Object Oriented Programming in C++.

The book also may be useful for self-study or as a reference for those who develop the applications programs, since it contains implementations of useful algorithms and detailed information on these algorithms’ performance characteristics.

The textbook is organized into five sections with 21 chapters in total.

  • Fundamentals (Chapter 1 to 9)
  • Sorting (Chapter 10 to 11)
  • Searching (Chapter 12 to 14)
  • String processing (15 to 18)
  • Graphs (Chapter 19 to 21)

Online content

Everything on these pages is freely available. Please go to each chapter at left for the source codes to compile and run in your C++ programming environment.

Getting started

To get started, see Getting Started.