In addition to books, check out this GitHub repo: Awesome Algorithms — awesome places to learn and/or practice algorithms Answer from ASIC_SP on reddit.com
🌐
Reddit
reddit.com › r/learnprogramming › which book to start learning data structures and algorithms ?
r/learnprogramming on Reddit: Which book to start learning Data Structures and Algorithms ?
March 12, 2023 -

So, I recently started the second semester in my college. We are being taught Data Structures and Algorithms in C. I wanted a good book to follow along. After a bit of research, I found these books to be the most suggested.

  • Introduction to Algorithms- CLRS

  • The Algorithm Design Manual

  • Fundamentals of Computer Algorithms- Horowitz, Sahini

  • Principles of Data Structures using C and CPP

  • Data Structures and Algorithm Analysis in C

I am really confused as to what should be my starting book? I am very new in programming (having only learned basics of Python) last semester. Also, Discrete Mathematics will be taught next semester to us.

So, which book should I follow? Should I start with one of these or any other ?

Edit:- I sincerely thank everyone for all the awesome suggestions.

🌐
Medium
medium.com › javarevisited › 8-best-data-structures-and-algorithms-books-for-software-engineers-and-developers-4d3af68542e7
8 Best Data Structures and Algorithms Books for Software Engineers and Developers | by javinpaul | Javarevisited | Medium
October 15, 2025 - Ok, now let’s see my favorite algorithm and data structure books: This is one of the best DSA book for beginners by Aditya Bhargava is a captivating and fully illustrated guide designed to make the learning of common algorithms an enjoyable and accessible experience.
Discussions

resource request - Book recommendations for self studying Data Structures in depth in an elegant manner - Computer Science Educators Stack Exchange
(The 3rd edition is old already ... to Data Structures and Algorithm Analysis.) It does get very in-depth into the field, including the mathematics involved in analysis and proofs. That said, however, my first read through it (2nd Ed.) was very helpful in many ways, and I didn't then know anything about C++. As a 2013 book, some of the coding might be in a style or format which is no longer considered "best ... More on cseducators.stackexchange.com
🌐 cseducators.stackexchange.com
June 28, 2020
Which data structures and algorithms book should I buy? - Stack Overflow
I know C and C++ and I have some experience with Java, but I don't know too much about Algorithms and Data Structures. I did a search on Amazon, but I don't know what book should I choose. I don't... More on stackoverflow.com
🌐 stackoverflow.com
Need Advice: Best Books for Data Structures and Algorithms to Build a Strong Foundation
I recommend Thomas Cormen's books (Introduction to Algorithms and Algorithms Unlocked) but those books are not meant to be read straight, more like a handy guide for DSA. Algorithms unlocked is a soft intro, supplementary guide for Intro to Algo. If you want a bit of a relaxed and illustrative approach to algorithms, I suggest Grokking Algorithms by Aditya Bhargava. More on reddit.com
🌐 r/learnprogramming
14
21
January 24, 2025
Looking for an intensive book on "data structures" only. Collected lots of trashy books that I regret now.
Cormen, Leiserson, Rivest, and Stein. Introduction to Algorithms. More on reddit.com
🌐 r/compsci
74
70
November 19, 2024
People also ask

What's the best Data Structures book to read?
While choosing just one book about a topic is always tough, many people regard Data Structures Using C and C++ as the ultimate read on Data Structures.
🌐
blinkist.com
blinkist.com › categories › technology & the future › data structures
The Best 20 Data Structures Books - Blinkist
What are the Top 10 Data Structures books?
Blinkist curators have picked the following:
  • Data Structures Using C and C++ by Yedidyah Langsam
  • Data Structures Using C by Reema Thareja
  • Data Structures Using Pascal by Aaron M. Tenenbaum
  • Genetic Algorithms + Data Structures = Evolution Programs by Zbigniew Michalewicz
  • Algorithms in C++ by Robert Sedgewick
  • Data Model Patterns by David C. Hay
  • Data Structures and Algorithms Made Easy by Narasimha Karumanchi
  • Algorithms in C, Parts 1-5 by Robert Sedgewick
  • Advanced Data Structures by Peter Brass
  • A Common-Sense Guide to Data Structures and Algorithms by Jay Wengrow
🌐
blinkist.com
blinkist.com › categories › technology & the future › data structures
The Best 20 Data Structures Books - Blinkist
Who are the top Data Structures book authors?
When it comes to Data Structures, these are the authors who stand out as some of the most influential:
  • Yedidyah Langsam
  • Reema Thareja
  • Aaron M. Tenenbaum
  • Zbigniew Michalewicz
  • Robert Sedgewick
🌐
blinkist.com
blinkist.com › categories › technology & the future › data structures
The Best 20 Data Structures Books - Blinkist
🌐
Hacker News
news.ycombinator.com › item
Ask HN: Looking for a book on algorithms and data structures | Hacker News
November 21, 2021 - But I want a structured guide / textbook that I can follow which also contains exercises · I have checked the CLRS book, but, it's more of a reference than a book that you can read from cover to cover. For example a basic Stack is explained in a page and a half or two, for me this is not enough, ...
🌐
Tableau
tableau.com › learn › articles › books-about-data-structures-algorithms
8 Great Data Structures & Algorithms Books | Tableau
Discover eight great books on data structures and algorithms for readers of all levels to better understand data science and learning algorithms.
🌐
Amazon
amazon.com › Best-Sellers-Data-Structure-and-Algorithms › zgbs › books › 132570011
Amazon Best Sellers: Best Data Structure and Algorithms
C++ Plus Data Structures: . ... Leetcode Workbook: Practice Book with 120 Pages of Challenges and Solutions: Prepare for coding interviews with real-world DSA problems and space to solve them by hand.
Find elsewhere
🌐
Mentorcruise
mentorcruise.com › books › datastructures
Top Data Structures Books recommended by experts (2026 Edition) - MentorCruise
Data Structures And Algorithms Made Easy: Data Structures and Algorithmic Puzzles" is a book that offers solutions to complex data structures and algorithms.
Top answer
1 of 2
3

You might find Data Structures and Algorithm Analysis, by Clifford A. Shaffer, to be helpful. There are versions for C++ and Java available. (The 3rd edition is old already [2013], and the prior editions were titled A Practical Introduction to Data Structures and Algorithm Analysis.)

It does get very in-depth into the field, including the mathematics involved in analysis and proofs. That said, however, my first read through it (2nd Ed.) was very helpful in many ways, and I didn't then know anything about C++.

As a 2013 book, some of the coding might be in a style or format which is no longer considered "best practice." This is likely more true for the manner in which Object Oriented Programming is utilized than for the syntactical style. The material, discussion, and analysis are still as valid as ever.


The link above is to the author's page where the PDF versions are available, along with many resources to accompany the book. Of course, if you must have a dead-tree version, they are still available, new and used, from places such as Amazon.

The author has stopped updating the PDF and print versions of the book in favor of an online version. I have not experimented with the online version, although a quick peek at it leads me to believe that it is available for "in-class" use and for independent study. As such, it might be more useful to you than the PDF version.

As a caution, I've also seen a 4th Edition with the same title, but by a different author. It may, or may not, be an updated version of the same book, done with the original author's help and blessings. Having never read the 4th Edition I cannot say if it's connected at all.


To give a better idea of the content, and layout, of the book, I am listing an abridged version of the books Table of Contents.

Contents

I Preliminaries

  1. Data Structures and Algorithms
    • A Philosophy of Data Structures (The Need for Data Structures :: Costs and Benefits) | Abstract Data Types and Data Structures | Design Patterns (Flyweight :: Visitor :: Composite :: Strategy) | Problems, Algorithms, and Programs
  2. Mathematical Preliminaries
    • Sets and Relations | Miscellaneous Notation | Logarithms | Summations and Recurrences | Recursion | Mathematical Proof Techniques (Direct Proof :: Proof by Contradiction :: Proof by Mathematical Induction) | Estimation
  3. Algorithm Analysis
    • Introduction | Best, Worst, and Average Cases | A Faster Computer, or a Faster Algorithm? | Asymptotic Analysis (Upper Bounds :: Lower Bounds :: Θ Notation :: Simplifying Rules :: Classifying Functions) | Calculating the Running Time for a Program | Analyzing Problems | Common Misunderstandings | Multiple Parameters | Space Bounds 3.10 Speeding Up Your Programs 3.11 Empirical Analysis

II Fundamental Data Structures

  1. Lists, Stacks, and Queues
    • Lists (Array-Based List Implementation :: Linked Lists :: Comparison of List Implementations :: Element Implementations :: Doubly Linked Lists) | Stacks (Array-Based Stacks :: Linked Stacks :: Comparison of Array-Based and Linked Stacks :: Implementing Recursion) | Queues (Array-Based Queues :: Linked Queues :: Comparison of Array-Based and Linked Queues) | Dictionaries
  2. Binary Trees
    • Definitions and Properties (The Full Binary Tree Theorem :: A Binary Tree Node ADT) | Binary Tree Traversals | Binary Tree Node Implementations (Pointer-Based Node Implementations :: Space Requirements :: Array Implementation for Complete Binary Trees) | Binary Search Trees | Heaps and Priority Queues | Huffman Coding Trees (Building Huffman Coding Trees :: Assigning and Using Huffman Codes :: Search in Huffman Trees)
  3. Non-Binary Trees
    • General Tree Definitions and Terminology (An ADT for General Tree Nodes :: General Tree Traversals) | The Parent Pointer Implementation | General Tree Implementations (List of Children :: The Left-Child/Right-Sibling Implementation :: Dynamic Node Implementations :: Dynamic “Left-Child/Right-Sibling” Implementation) | K-ary Trees | Sequential Tree Implementations

III Sorting and Searching

  1. Internal Sorting
    • Sorting Terminology and Notation | Three Θ(n2) Sorting Algorithms (Insertion Sort :: Bubble Sort :: Selection Sort :: The Cost of Exchange Sorting) | Shellsort | Mergesort | Quicksort | Heapsort | Binsort and Radix Sort | An Empirical Comparison of Sorting Algorithms | Lower Bounds for Sorting
  2. File Processing and External Sorting
    • Primary versus Secondary Storage | Disk Drives (Disk Drive Architecture :: Disk Access Costs) | Buffers and Buffer Pools | The Programmer’s View of Files | External Sorting (Simple Approaches to External Sorting :: Replacement Selection :: Multiway Merging)
  3. Searching
    • Searching Unsorted and Sorted Arrays | Self-Organizing Lists | Bit Vectors for Representing Sets | Hashing (Hash Functions :: Open Hashing :: Closed Hashing :: Analysis of Closed Hashing :: Deletion)
  4. Indexing
  • Linear Indexing | ISAM | Tree-based Indexing | 2-3 Trees | B-Trees (B+ -Trees :: B-Tree Analysis)

IV Advanced Data Structures

  1. Graphs
  • Terminology and Representations | Graph Implementations | Graph Traversals (Depth-First Search :: Breadth-First Search :: Topological Sort) | Shortest-Paths Problems (Single-Source Shortest Paths) | Minimum-Cost Spanning Trees (Prim’s Algorithm :: Kruskal’s Algorithm)
  1. Lists and Arrays Revisited
  • Multilists | Matrix Representations | Memory Management (Dynamic Storage Allocation :: Failure Policies and Garbage Collection)
  1. Advanced Tree Structures
  • Tries | Balanced Trees (The AVL Tree :: The Splay Tree) | Spatial Data Structures (The K-D Tree :: The PR quadtree :: Other Point Data Structures :: Other Spatial Data Structures)

V Theory of Algorithms

  1. Analysis Techniques
  • Summation Techniques | Recurrence Relations (Estimating Upper and Lower Bounds :: Expanding Recurrences :: Divide and Conquer Recurrences :: Average-Case Analysis of Quicksort) | Amortized Analysis
  1. Lower Bounds
  • Introduction to Lower Bounds Proofs | Lower Bounds on Searching Lists (Searching in Unsorted Lists :: Searching in Sorted Lists) | Finding the Maximum Value | Adversarial Lower Bounds Proofs | State Space Lower Bounds Proofs | Finding the ith Best Element | Optimal Sorting
  1. Patterns of Algorithms
  • Dynamic Programming (The Knapsack Problem :: All-Pairs Shortest Paths) | Randomized Algorithms (Randomized algorithms for finding large values :: Skip Lists) | Numerical Algorithms (Exponentiation :: Largest Common Factor :: Matrix Multiplication :: Random Numbers :: The Fast Fourier Transform)
  1. Limits to Computation
  • Reductions | Hard Problems (The Theory of N P-Completeness :: N P-Completeness Proofs :: Coping with N P-Complete Problems) | Impossible Problems (Uncountability :: The Halting Problem Is Unsolvable)
2 of 2
3

At my school we do use Carrano and Henry, Data Abstraction & Problem Solving with C++: Walls and Mirrors.

The Walls and Mirrors series has been in publication since 1986, and over the years has seen editions in Pascal, Modula-2, C++, and Java. (Most recent editions in C++.) In 2018 it won the McGuffey Longevity Award ​for​​ ​textbooks whose excellence has been demonstrated over time.

🌐
Blinkist
blinkist.com › categories › technology & the future › data structures
The Best 20 Data Structures Books - Blinkist
Data Structures Books to read in 2026 to broaden your knowledge in Technology and the Future. User verified book suggestions such as 'Data Structures Using C and C++' and 'Data Structures Using C' by top notch authors like Yedidyah Langsam and ...
🌐
GeeksforGeeks
geeksforgeeks.org › dsa › best-data-structures-and-algorithms-books
Best Data Structures and Algorithms Books - GeeksforGeeks
July 27, 2025 - This well-known book concentrates on helping readers in understanding and mastering the principles of Algorithms and Data Structures. This book is appropriate for beginners as well as intermediate programmers because it covers a broad variety of subjects related to Data Structures and Algorithms.
🌐
Quora
quora.com › As-a-self-thought-programmer-which-books-about-algorithms-and-data-structures-should-I-read-first
As a self-thought programmer, which books about algorithms and data structures should I read first? - Quora
There should be no more confusion about what you should learn first the Data Structure or Algorithms. You can learn both simultaneously one by one. If you want to learn DSA, then go forward with Learnbay. Because Learnbay is giving the best training for learning DSA courses. ... Books on data structures and algorithms (DSA) can significantly increase your ability to perform well in your work.
🌐
DEV Community
dev.to › somadevtoo › 10-must-read-data-structures-and-algorithms-books-for-developers-39f1
10 Must Read Data Structures and Algorithms Books for Developers - DEV Community
January 26, 2025 - In that case, you can combine your learning with an online course like Data Structures and Algorithms: Deep Dive Using Java along with this book. This is like the best of both worlds, you learn basic Algorithms quickly in an online course, and ...
🌐
Facebook
facebook.com › groups › cs50 › posts › 1983933365087032
What are good books on algorithms and data structures?
Popular groups · Find communities for you · Over 1 billion people across the globe are using Facebook Groups to explore their favorite topics · Log in · Categories · Science & tech · Travel · Animals · Sports & fitness · Entertainment
🌐
Quora
quora.com › What-are-the-best-books-on-algorithms-and-data-structures
What are the best books on algorithms and data structures? - Quora
Answer (1 of 163): Learning about algorithms and data structures through books remains a timeless and effective method for many individuals. Books offer structured content, thorough explanations, and the flexibility to learn at your own pace. However, selecting the right books that align with you...
🌐
McGill University
cs.mcgill.ca › ~akroit › math › compsci › Cormen Introduction to Algorithms.pdf pdf
A L G O R I T H M S I N T R O D U C T I O N T O T H I R D E D I T I O N
ing chapters by only problem domains or according only to techniques, this book · has elements of both. It contains technique-based chapters on divide-and-conquer, dynamic programming, greedy algorithms, amortized analysis, NP-Completeness, and approximation algorithms. But it also has entire parts on sorting, on data · structures for dynamic sets, and on algorithms for graph problems.
🌐
Python documentation
docs.python.org › 3 › tutorial › index.html
The Python Tutorial — Python 3.14.4 documentation
Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax an...
🌐
Noon
noon.com › egypt-en › books › computer-and-technology › computer-programming › programming-languages-and-tools › all-products-eg
Programming Languages & Tools Egypt | Best Price Offers | Cairo, Giza
Biggest selection of Programming Languages & Tools in Egypt. ✓ Secure Shopping ✓ 100% Contactless ✓ Fast Shipping ✓ Cash on Delivery ✓ Easy Free Returns. Shop Now
🌐
Amazon
us.amazon.com › Best-Sellers-Books › zgbs › books › 132570011
Amazon Best Sellers: Best Data Structure and Algorithms
Data Structures and Algorithms: Coding Cheatsheet: The DSA Takeover Edition (Day before Coding Interview [DCI]: CODING INTERVIEW PATTERNS) ... Leetcode Workbook: Practice Book with 120 Pages of Challenges and Solutions: Prepare for coding interviews with real-world DSA problems and space to ...
🌐
Goodreads
goodreads.com › shelf › show › algorithms-data-structures
Algorithms Data Structures Books
Books shelved as algorithms-data-structures: The Algorithm Design Manual by Steven S. Skiena, Introduction to Algorithms by Thomas H. Cormen, Cracking th...