Fundamentals of Data Structures in C++ By Ellis Horowitz Sartaj Sahni Dinesh Mehta

Fundamentals of Data Structures in C++: The book was one of the most influential computer science books of the time and, like Wirth’s other work, was extensively used in education. Algorithms + Data Structures = Programs is a 1995 book written by by Ellis Horowitz  (Author), Sartaj Sahni (Author), Dinesh Mehta (Author) covering some of the fundamental topics of computer programming, particularly that algorithms and data structures are inherently related. For example, if one has a sorted list one will use a search algorithm optimal for sorted lists. We discuss the Algorithms and Data Structure Fundamentals as shown below.


Fundamentals of Data Structures in C++ Buy Online:

Last update was in: August 8, 2017 11:56 am

Fundamentals of Data Structure in C++ Book by Ellis Horowitz  (Author), Sartaj Sahni (Author), Dinesh Mehta (Author). Book Published in 1995.

The book has been updated to include the latest features of the C++ language.

Treatment of queues, iterators and dynamic hashing has been improved. The book now discusses topics such as secure hashing algorithms, weight biased leftist trees, pairing heaps, symmetric min–max heaps, and interval heaps, top-down splay trees, B+ trees and suffix trees. Red–black trees have been made more accessible.

Features such as exceptions and templates are now incorporated throughout the text along with limited exposure to STL.



Fundamentals Of Data Structures In C++ By Ellis Horowitz Sartaj Sahni Dinesh Mehta Book Specifications:

Chapter 1 Basic Concepts
Chapter 2 Arrays
Chapter 3 Stacks And Queues
Chapter 4 Linked Lists
Chapter 5 Trees
Chapter 6 Graphs
Chapter 7 Sorting
Chapter 8 Hashing
Chapter 9 Priority Queues
Chapter 10 Efficient Binary Search Trees
Chapter 11 Multi way Search Trees
Chapter 12 Digital Search Structures


Top 10 Algorithms and Data Structures for Competitive Programming

In this post “Important top 10 algorithms and data structures for competitive coding “.

Topics :

  • Graph algorithms
  • Dynamic programming
  • Searching and Sorting:
  • Number theory and Other Mathematical
  • Geometrical and Network Flow Algorithms
  • Data Structures
  • competitive-programming


The below links cover all most  important algorithms and data structure topics:

Graph Algorithms

  • Breadth First Search (BFS)
  • Depth First Search (DFS)
  • Shortest Path from source to all vertices **Dijkstra**
  • Shortest Path from every vertex to every other vertex **Floyd Warshall**
  • Minimum Spanning tree **Prim**
  • Minimum Spanning tree **Kruskal**
  • Topological Sort
  • Johnson’s algorithm
  • Articulation Points (or Cut Vertices) in a Graph
  • Bridges in a graph
  • All Graph Algorithms

Dynamic Programming


  • Longest Common Subsequence
  • Longest Increasing Subsequence
  • Edit Distance
  • Minimum Partition
  • Ways to Cover a Distance
  • Longest Path In Matrix
  • Subset Sum Problem
  • Optimal Strategy for a Game
  • Knapsack Problem
  • Assembly Line Scheduling

All DP Algorithm

Searching And Sorting


  • Binary Search
  • Quick Sort
  • Merge Sort
  • Order Statistics
  • KMP algorithm
  • Rabin karp
  • Z’s algorithm
  • Aho Corasick String Matching
  • Counting Sort
  • Manacher’s algorithm: Part 1, Part 2 and Part 3
  • All Articles on Searching, Sorting and Pattern Searching.

Number theory and Other Mathematical

Prime Numbers and Prime Factorization

  • Primality Test | Set 1 (Introduction and School Method)
  • Primality Test | Set 2 (Fermat Method)
  • Primality Test | Set 3 (Miller–Rabin)
  • Sieve of Eratosthenes
  • Segmented Sieve
  • Wilson’s Theorem
  • Prime Factorisation
  • Pollard’s rho algorithm

Modulo Arithmetic Algorithms

  • Basic and Extended Euclidean algorithms
  • Euler’s Totient Function
  • Modular Exponentiation
  • Modular Multiplicative Inverse
  • Chinese remainder theorem Introduction
  • Chinese remainder theorem and Modulo Inverse Implementation




Counting Inversions

  • Counting Inversions using BIT
  • logarithmic exponentiation
  • Square root of an integer
  • Heavy light Decomposition , this and this
  • Matrix Rank
  • Gaussian Elimination to Solve Linear Equations
  • Hungarian algorithm
  • Link cut
  • Mo’s algorithm and this
  • Factorial of a large number in C++
  • Factorial of a large number in Java+
  • Russian Peasant Multiplication
  • Catalan Number
  • All Articles on Mathematical Algorithms

Geometrical and Network Flow Algorithms


  • Convex Hull
  • Graham Scan
  • Line Intersection
  • Interval Tree
  • Matrix Exponentiation and this
  • Maxflow Ford Furkerson Algo and Edmond Karp Implementation
  • Min cut
  • Stable Marriage Problem
  • Hopcroft–Karp Algorithm for Maximum Matching
  • Dinic’s algo and e-maxx
  • All Articles on Geometric Algorithms

Data Structures


  • Binary Indexed Tree or Fenwick tree
  • Segment Tree (RMQ, Range Sum and Lazy Propagation)
  • K-D tree (See insert, minimum and delete)
  • Union Find Disjoint Set (Cycle Detection and By Rank and Path Compression)
  • Trees
  • Suffix array (this, this and this)
  • Sparse table
  • Suffix automata
  • Suffix automata II
  • LCA and RMQ
  • All Articles on Advanced Data Structures.



Fundamentals In Data Structures In C++ Second Edition Book:


Fundamentals Of Data Structures In C++ 2nd Edition Solution

This book has an amazing amount of content. Very few data structures books contain quite as many structures as this one; In addition to containing all the common data structures one usually studies, people can also study Splay Trees, Compressed Tries, Patricia, Fibonacci Heaps…really the list keeps going. The only things that it seems to be missing are skip lists and multidimensional range trees…

Fundamentals Of Data Structures In C++ Answer

Most data structures have rigorous (college-level-worthy) proofs for complexity and performance

Fundamentals Of Data Structures In C++ By Ellis Horowitz

The C++ code samples use templates so that the data structures can be generalized and used for any type. Therefore, the C++ code is very reusable. However, the code can sometimes be a bit hard to understand, mostly due to short variable names, and poor in-code comments. This is one of the reasons I didn’t give this book. Overall though, this book stands out in the covered.


Best Reference Books For CSE- 2nd Year 

2-1 Semistar

2-2 Semistar