Silicon Press Logo
Spacer Spacer

Cover; click to enlarge Data Structures, Algorithms, and Applications in C++ (2nd Edition)
by Sartaj Sahni
ISBN 0-929306-32-5
830 pages, Paperback
$89.95 (US Dollars)
Author Bios: Sahni

Data Structures, Algorithms, and Applications in C++ (2/E) is the new version of the very popular first edition. It provides a comprehensive coverage of fundamental data structures, making it ideal for use in a CS2 course. The author, Sartaj Sahni, has made the book very user friendly by starting with a gentle introduction, providing intuitive discussions, and including real-world applications. This new version makes significant use of the Standard Templates Library (STL) and relates the data structures and algorithms developed in the text to corresponding implementations in the STL. Many new examples and exercises also have been included.

Real-world applications are a unique feature of this text. Dr. Sahni provides several applications for each data structure and algorithm design method discussed, taking examples from topics such as sorting, compression and coding, and image processing. These applications motivate and interest students by connecting concepts with their use. Dr. Sahni does an excellent job of balancing theoretical and practical information, resulting in learned concepts and interested students.

The market-developed pedagogy in this book reinforces concepts and gives students plenty of practice. There are almost 1,000 exercises, including comprehension and simple programming problems, and projects. Additionally, the book has an associated Web site that contains all the programs in the book, sample data, generated output, solutions to selected exercises, and sample tests with answers.


  • Chapter 1 C++ Review
  • Chapter 2 Performance Analysis
  • Chapter 3 Asymptotic Notation
  • Chapter 4 Performance Measurement of Programs
  • Chapter 5 Linear Lists - Array Representation
  • Chapter 6 Linear Lists - Linked Representation
  • Chapter 7 Arrays and Matrices
  • Chapter 8 Stacks
  • Chapter 9 Queues
  • Chapter 10 Skip Lists and Hashing
  • Chapter 11 Binary and Other Trees
  • Chapter 12 Priority Queues
  • Chapter 13 Tournament Trees
  • Chapter 14 Binary Search Trees
  • Chapter 15 Balanced Search Trees
  • Chapter 16 Graphs
  • Chapter 17 The Greedy Method
  • Chapter 18 Divide and Conquer
  • Chapter 19 Dynamic Programming
  • Chapter 20 Backtracking (On the Web)
  • Chapter 21 Branch and Bound (On the Web)

About SP   FAQs   Authors   Custom Reports   Our Partners   For Partners