The 21 best Algorithm books of all time

A data-backed answer

🧮

Methodology

There are countless lists on the internet claiming to be the list of must-read Algorithm books and it seemed that all those lists always recommended that same books minus two or three odd choices.

Finding good resources for learning programming is always tricky. Every-one has its own opinion about what book is the best to learn, and as we say in french, “Color and tastes should not be argued about”.

However I though it would be interesting to trust the wisdom of the crown and to find the books that appeared the most in those “Best Algorithm Book” lists.

If you want to jump right on the results go take a look below at the full results. If you want to learn about the methodology, bear with me.

I’ve simply asked Google for a few queries like “Best Algorithm Books” and its variations of. I have then scrapped all those pages (using ScrapingBee, a web scraping API I’m working on).

I’ve deduplicated the links and ended up with nearly 148 links. Using the title of the pages I was also able to quickly discards:

I ended up with almost 136 HTML files. I went on opening all the files on my browser, open my chrome inspector, found and wrote the CSS selector matching book titles in the article. This took me around 1hours, almost 30 seconds per page.

This also allowed me to discard even more nonrelevant pages, and I discarded a lot. In the end I compiled around 80 lists into this one.

Book titles were then extracted with manuel extraction and some web scraping.

I ended up with a huge list of books, not usable without some post-processing.

To find the most quoted Algorithm books I needed to normalize my results.

I had to play with all the different variation like “{title} by {author}” or “{title} - {author}”.

Or “{title}:{subtitle}” and “{title}”, or even all the one containing edition number.

And afterquite a bit of manual cleaning.

My list now looked like this:

From there it was easy to compute the most recommended books. You can find all the data used to process this list on this repo. Now let’s take a look at the list:

I've also recently used some data from different book sellers in order to not forget important books and try to give more weight to books with incredible reviews.

‍

Results

21
)

A Common-Sense Guide to Data Structures and Algorithms, Second Edition: Level Up Your Core Programming Skills

by
Jay Wengrow
4.1
% recommend
🛒   Buy
“
Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today’s web and mobile apps.

Take a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code, with examples in JavaScript, Python, and Ruby. This new and revised second edition features new chapters on recursion, dynamic programming, and using Big O in your daily work.

Use Big O notation to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write.

Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software.

You’ll even encounter a single keyword that can give your code a turbo boost. Practice your new skills with exercises in every chapter, along with detailed solutions
”
Amazon.com
20
)

Algorithms for Optimization (The MIT Press)

by
Mykel J. Kochenderfer & Tim A. Wheeler
4.1
% recommend
🛒   Buy
“
A comprehensive introduction to optimization with a focus on practical algorithms for the design of engineering systems. This book offers a comprehensive introduction to optimization with a focus on practical algorithms.

The book approaches optimization from an engineering perspective, where the objective is to design a system that optimizes a set of metrics subject to constraints. Readers will learn about computational approaches for a range of challenges, including searching high-dimensional spaces, handling problems where there are multiple competing objectives, and accommodating uncertainty in the metrics.

Figures, examples, and exercises convey the intuition behind the mathematical approaches. The text provides concrete implementations in the Julia programming language.

Topics covered include derivatives and their generalization to multiple dimensions; local descent and first- and second-order methods that inform local descent; stochastic methods, which introduce randomness into the optimization process; linear constrained optimization, when both the objective function and the constraints are linear; surrogate models, probabilistic surrogate models, and using probabilistic surrogate models to guide optimization; optimization under uncertainty; uncertainty propagation; expression optimization; and multidisciplinary design optimization. Appendixes offer an introduction to the Julia language, test functions for evaluating algorithm performance, and mathematical concepts used in the derivation and analysis of the optimization methods discussed in the text
”
Amazon.com
19
)

Python and Algorithmic Thinking for the Complete Beginner (2nd Edition): Learn to Think Like a Programmer

by
Aristides S Bouras
4.1
% recommend
🛒   Buy
“
Thoroughly revised for the latest version of Python, this book explains basic concepts in a clear and explicit way that takes very seriously one thing for granted—that the reader knows nothing about computer programming. Addressed to anyone who has no prior programming knowledge or experience, but a desire to learn programming with Python, it teaches the first thing that every novice programmer needs to learn, which is Algorithmic Thinking.

Αlgorithmic Thinking involves more than just learning code. It is a problem-solving process that involves learning how to code.

This edition contains all the popular features of the previous edition and adds a significant number of exercises, as well as extensive revisions and updates. Apart from Python’s lists, it now also covers dictionaries, while a brand new section provides an effective introduction to the next field that a programmer needs to work with, which is Object Oriented Programming (OOP).

This book has a class course structure with questions and exercises at the end of each chapter so you can test what you have learned right away and improve your comprehension. With 250 solved and 450 unsolved exercises, 475 true/false, about 150 multiple choice, and 200 review questions and crosswords (the solutions and the answers to which can be found on the Internet), this book is ideal for novices or average programmers, for self-study high school students first-year college or university students teachers professors anyone who wants to start learning or teaching computer programming using the proper conventions and techniques
”
Amazon.com
18
)

Data Structures and Algorithms in Java

by
Michael T. Goodrich & Roberto Tamassia & Michael H. Goldwasser
4.5
% recommend
🛒   Buy
“
The design and analysis of efficient data structures has long been recognized as a key component of the Computer Science curriculum. Goodrich, Tomassia and Goldwasser's approach to this classic topic is based on the object-oriented paradigm as the framework of choice for the design of data structures.

For each ADT presented in the text, the authors provide an associated Java interface. Concrete data structures realizing the ADTs are provided as Java classes implementing the interfaces.

The Java code implementing fundamental data structures in this book is organized in a single Java package, net.datastructures. This package forms a coherent library of data structures and algorithms in Java specifically designed for educational purposes in a way that is complimentary with the Java Collections Framework.
”
Amazon.com
17
)

Computer Vision: Algorithms and Applications (Texts in Computer Science)

by
Richard Szeliski
4.5
% recommend
🛒   Buy
“
Computer Vision: Algorithms and Applications explores the variety of techniques commonly used to analyze and interpret images. It also describes challenging real-world applications where vision is being successfully used, both for specialized applications such as medical imaging, and for fun, consumer-level tasks such as image editing and stitching, which students can apply to their own personal photos and videos.

More than just a source of “recipes,” this exceptionally authoritative and comprehensive textbook/reference also takes a scientific approach to basic vision problems, formulating physical models of the imaging process before inverting them to produce descriptions of a scene. These problems are also analyzed using statistical models and solved using rigorous engineering techniques.

Topics and features: structured to support active curricula and project-oriented courses, with tips in the Introduction for using the book in a variety of customized courses; presents exercises at the end of each chapter with a heavy emphasis on testing algorithms and containing numerous suggestions for small mid-term projects; provides additional material and more detailed mathematical topics in the Appendices, which cover linear algebra, numerical techniques, and Bayesian estimation theory; suggests additional reading at the end of each chapter, including the latest research in each sub-field, in addition to a full Bibliography at the end of the book; supplies supplementary course material for students at the associated website, http://szeliski.org/Book/. Suitable for an upper-level undergraduate or graduate-level course in computer science or engineering, this textbook focuses on basic techniques that work under real-world conditions and encourages students to push their creative boundaries
”
Amazon.com
16
)

40 Algorithms Every Programmer Should Know: Hone your problem-solving skills by learning different algorithms and their implementation in Python

by
Imran Ahmad
4.7
% recommend
🛒   Buy
“
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental algorithms, such as sorting and searching, to modern algorithms used in machine learning and cryptography Key Features Learn the techniques you need to know to design algorithms for solving complex problems Become familiar with neural networks and deep learning techniques Explore different types of algorithms and choose the right data structures for their optimal implementation Book Description Algorithms have always played an important role in both the science and practice of computing. Beyond traditional computing, the ability to use algorithms to solve real-world problems is an important skill that any developer or programmer must have.

This book will help you not only to develop the skills to select and use an algorithm to solve real-world problems but also to understand how it works. You'll start with an introduction to algorithms and discover various algorithm design techniques, before exploring how to implement different types of algorithms, such as searching and sorting, with the help of practical examples.

As you advance to a more complex set of algorithms, you'll learn about linear programming, page ranking, and graphs, and even work with machine learning algorithms, understanding the math and logic behind them. Further on, case studies such as weather prediction, tweet clustering, and movie recommendation engines will show you how to apply these algorithms optimally.

Finally, you'll become well versed in techniques that enable parallel processing, giving you the ability to use these algorithms for compute-intensive tasks. By the end of this book, you'll have become adept at solving real-world computational problems by using a wide range of algorithms.

What you will learn Explore existing data structures and algorithms found in Python libraries Implement graph algorithms for fraud detection using network analysis Work with machine learning algorithms to cluster similar tweets and process Twitter data in real time Predict the weather using supervised learning algorithms Use neural networks for object detection Create a recommendation engine that suggests relevant movies to subscribers Implement foolproof security using symmetric and asymmetric encryption on Google Cloud Platform (GCP) Who this book is for This book is for programmers or developers who want to understand the use of algorithms for problem-solving and writing efficient code. Whether you are a beginner looking to learn the most commonly used algorithms in a clear and concise way or an experienced programmer looking to explore cutting-edge algorithms in data science, machine learning, and cryptography, you'll find this book useful.

Although Python programming experience is a must, knowledge of data science will be helpful but not necessary. Table of Contents Overview of Algorithms Data Structures used in Algorithms Sorting and Searching Algorithms Designing Algorithms Graph Algorithms Unsupervised Machine Learning Algorithms Traditional Supervised Learning Algorithms Neural Network Algorithms Algorithms for Natural Language Processing Recommendation Engines Data Algorithms Cryptography Large Scale Algorithms Practical Considerations
”
Amazon.com
15
)

Algorithms Unlocked (The MIT Press)

by
Thomas H. Cormen
4.8
% recommend
🛒   Buy
“
For anyone who has ever wondered how computers solve problems, an engagingly written guide for nonexperts to the basics of computer algorithms. Have you ever wondered how your GPS can find the fastest way to your destination, selecting one route from seemingly countless possibilities in mere seconds? How your credit card account number is protected when you make a purchase over the Internet? The answer is algorithms.

And how do these mathematical formulations translate themselves into your GPS, your laptop, or your smart phone? This book offers an engagingly written guide to the basics of computer algorithms. In Algorithms Unlocked, Thomas Cormen―coauthor of the leading college textbook on the subject―provides a general explanation, with limited mathematics, of how algorithms enable computers to solve problems.

Readers will learn what computer algorithms are, how to describe them, and how to evaluate them. They will discover simple ways to search for information in a computer; methods for rearranging information in a computer into a prescribed order (“sorting”); how to solve basic problems that can be modeled in a computer with a mathematical structure called a “graph” (useful for modeling road networks, dependencies among tasks, and financial relationships); how to solve problems that ask questions about strings of characters such as DNA structures; the basic principles behind cryptography; fundamentals of data compression; and even that there are some problems that no one has figured out how to solve on a computer in a reasonable amount of time.
”
Amazon.com
14
)

Problem Solving with Algorithms and Data Structures Using Python SECOND EDITION

by
Bradley N. Miller & David L. Ranum
4.9
% recommend
🛒   Buy
“
THIS TEXTBOOK is about computer science. It is also about Python.

However, there is much more. The study of algorithms and data structures is central to understanding what computer science is all about.

Learning computer science is not unlike learning any other type of difficult subject matter. The only way to be successful is through deliberate and incremental exposure to the fundamental ideas.

A beginning computer scientist needs practice so that there is a thorough understanding before continuing on to the more complex parts of the curriculum. In addition, a beginner needs to be given the opportunity to be successful and gain confidence.

This textbook is designed to serve as a text for a first course on data structures and algorithms, typically taught as the second course in the computer science curriculum. Even though the second course is considered more advanced than the first course, this book assumes you are beginners at this level.

You may still be struggling with some of the basic ideas and skills from a first computer science course and yet be ready to further explore the discipline and continue to practice problem solving. We cover abstract data types and data structures, writing algorithms, and solving problems.

We look at a number of data structures and solve classic problems that arise. The tools and techniques that you learn here will be applied over and over as you continue your study of computer science.
”
Amazon.com
13
)

Algorithms For Dummies (For Dummies (Computers))

by
John Paul Mueller & Luca Massaron
4.9
% recommend
🛒   Buy
“
Discover how algorithms shape and impact our digital world All data, big or small, starts with algorithms. Algorithms are mathematical equations that determine what we see―based on our likes, dislikes, queries, views, interests, relationships, and more―online.

They are, in a sense, the electronic gatekeepers to our digital, as well as our physical, world. This book demystifies the subject of algorithms so you can understand how important they are business and scientific decision making.

Algorithms for Dummies is a clear and concise primer for everyday people who are interested in algorithms and how they impact our digital lives. Based on the fact that we already live in a world where algorithms are behind most of the technology we use, this book offers eye-opening information on the pervasiveness and importance of this mathematical science―how it plays out in our everyday digestion of news and entertainment, as well as in its influence on our social interactions and consumerism
”
Amazon.com
12
)

Information Theory, Inference and Learning Algorithms

by
David J. C. MacKay
5.3
% recommend
🛒   Buy
“
Information theory and inference, often taught separately, are here united in one entertaining textbook. These topics lie at the heart of many exciting areas of contemporary science and engineering - communication, signal processing, data mining, machine learning, pattern recognition, computational neuroscience, bioinformatics, and cryptography.

This textbook introduces theory in tandem with applications. Information theory is taught alongside practical communication systems, such as arithmetic coding for data compression and sparse-graph codes for error-correction.

A toolbox of inference techniques, including message-passing algorithms, Monte Carlo methods, and variational approximations, are developed alongside applications of these tools to clustering, convolutional codes, independent component analysis, and neural networks. The final part of the book describes the state of the art in error-correcting codes, including low-density parity-check codes, turbo codes, and digital fountain codes -- the twenty-first century standards for satellite communications, disk drives, and data broadcast.

Richly illustrated, filled with worked examples and over 400 exercises, some with detailed solutions, David MacKay's groundbreaking book is ideal for self-learning and for undergraduate or graduate courses. Interludes on crosswords, evolution, and sex provide entertainment along the way
”
Amazon.com
11
)

Introduction to the Design and Analysis of Algorithms

by
Anany Levitin
5.4
% recommend
🛒   Buy
“
Based on a new classification of algorithm design techniques and a clear delineation of analysis methods, Introduction to the Design and Analysis of Algorithms, 3e presents the subject in a truly innovative manner. KEY TOPICS: Written in a reader-friendly style, the book encourages broad problem-solving skills while thoroughly covering the material required for introductory algorithms.

The author emphasizes conceptual understanding before the introduction of the formal treatment of each technique. Popular puzzles are used to motivate readers' interest and strengthen their skills in algorithmic problem solving.

Other enhancement features include chapter summaries, hints to the exercises, and a solution manual. MARKET: For those interested in learning more about algorithms.
”
Amazon.com
10
)

Data Structures and Algorithms in Python

by
Michael T. Goodrich & Roberto Tamassia & Michael H. Goldwasser
6.4
% recommend
🛒   Buy
“
Based on the authors’ market leading data structures books in Java and C++, this textbook offers a comprehensive, definitive introduction to data structures in Python by respected authors. Data Structures and Algorithms in Python is the first mainstream object-oriented book available for the Python data structures course.  Designed to provide a comprehensive introduction to data structures and algorithms, including their design, analysis, and implementation, the text will maintain the same general structure as Data Structures and Algorithms in Java and Data Structures and Algorithms in C++.
”
Amazon.com
9
)

Algorithm Design

by
Jon Kleinberg & Éva Tardos
8.3
% recommend
🛒   Buy
“
Algorithm Design introduces algorithms by looking at the real-world problems that motivate them. The book teaches students a range of design and analysis techniques for problems that arise in computing applications.

The text encourages an understanding of the algorithm design process and an appreciation of the role of algorithms in the broader field of computer science. August 6, 2009 Author, Jon Kleinberg, was recently cited in the New York Times for his statistical analysis research in the Internet age.
”
Amazon.com
8
)

Algorithms Illuminated: Part 1: The Basics

by
Tim Roughgarden
8.6
% recommend
🛒   Buy
“
Accessible, no-nonsense, and programming language-agnostic introduction to algorithms. Includes solutions to all quizzes and selected problems, and a series of YouTube videos by the author accompanies the book
”
Amazon.com
7
)

AAD Algorithms-Aided Design: Parametric Strategies using Grasshopper

by
Arturo Tedeschi
9.5
% recommend
🛒   Buy
“
Algorithmic design is not simply the use of computer to design architecture and objects. Algorithms allow designers to overcome the limitations of traditional CAD software and 3D modelers, reaching a level of complexity and control which is beyond the human manual ability.

Algorithms-Aided Design presents design methods based on the use of Grasshopper (R), a visual algorithm editor tightly integrated with Rhinoceros (R), the 3D modeling software by McNeel & Associates allowing users to explore accurate freeform shapes. The book provides computational techniques to develop and control complex geometries, covering parametric modeling, digital fabrication techniques, form-finding strategies, environmental analysis and structural optimization
”
Amazon.com
6
)

The Algorithm Design Manual

by
Steven S Skiena
13.1
% recommend
🛒   Buy
“
This newly expanded and updated second edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficacy and efficiency. Expanding on the first edition, the book now serves as the primary textbook of choice for algorithm design courses while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students.

The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Techniques, provides accessible instruction on methods for designing and analyzing computer algorithms.

The second part, Resources, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations and an extensive bibliography. NEW to the second edition: • Doubles the tutorial material and exercises over the first edition • Provides full online support for lecturers, and a completely updated and improved website component with lecture slides, audio and video • Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them • Includes several NEW"war stories" relating experiences from real-world applications • Provides up-to-date links leading to the very best algorithm implementations available in C, C++, and Java.
”
Amazon.com
5
)

Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People

by
Aditya Bhargava
14.0
% recommend
🛒   Buy
“
Summary Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer. You'll start with sorting and searching and, as you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression and artificial intelligence.

Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. Learning about algorithms doesn't have to be boring! Get a sneak peek at the fun, illustrated, and friendly examples you'll find in Grokking Algorithms on Manning Publications' YouTube channel.

Continue your journey into the world of algorithms with Algorithms in Motion, a practical, hands-on video course available exclusively at Manning.com (www.manning.com/livevideo/algorithms-​in-motion). Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven.

If you want to understand them but refuse to slog through dense multipage proofs, this is the book for you. This fully illustrated and engaging guide makes it easy to learn how to use the most important algorithms effectively in your own programs.

About the Book Grokking Algorithms is a friendly take on this core computer science topic. In it, you'll learn how to apply common algorithms to the practical programming problems you face every day.

You'll start with tasks like sorting and searching. As you build up your skills, you'll tackle more complex problems like data compression and artificial intelligence.

Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. By the end of this book, you will have mastered widely applicable algorithms as well as how and when to use them.

What's Inside Covers search, sort, and graph algorithms Over 400 pictures with detailed walkthroughs Performance trade-offs between algorithms Python-based code samples About the Reader This easy-to-read, picture-heavy introduction is suitable for self-taught programmers, engineers, or anyone who wants to brush up on algorithms. About the Author Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts.

He blogs on programming at adit.io. Table of Contents Introduction to algorithms Selection sort Recursion Quicksort Hash tables Breadth-first search Dijkstra's algorithm Greedy algorithms Dynamic programming K-nearest neighbors.
”
Amazon.com
4
)

Algorithms (4th Edition)

by
Robert Sedgewick & Kevin Wayne
14.7
% recommend
🛒   Buy
“
This fourth edition of Robert Sedgewick and Kevin Wayne’s Algorithms is the leading textbook on algorithms today and is widely used in colleges and universities worldwide. This book surveys the most important computer algorithms currently in use and provides a full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing--including fifty algorithms every programmer should know.

In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use. The algorithms in this book represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering, not to mention students who use computation in the liberal arts.

The companion web site, algs4.cs.princeton.edu, contains An online synopsis Full Java implementations Test data Exercises and answers Dynamic visualizations Lecture slides Programming assignments with checklists Links to related material The MOOC related to this book is accessible via the "Online Course" link at algs4.cs.princeton.edu. The course offers more than 100 video lecture segments that are integrated with the text, extensive online assessments, and the large-scale discussion forums that have proven so valuable.

Offered each fall and spring, this course regularly attracts tens of thousands of registrants. Robert Sedgewick and Kevin Wayne are developing a modern approach to disseminating knowledge that fully embraces technology, enabling people all around the world to discover new ways of learning and teaching
”
Amazon.com
3
)

The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World

by
Pedro Domingos
16.2
% recommend
🛒   Buy
“
A thought-provoking and wide-ranging exploration of machine learning and the race to build computer intelligences as flexible as our own In the world's top research labs and universities, the race is on to invent the ultimate learning algorithm: one capable of discovering any knowledge from data, and doing anything we want, before we even ask. In The Master Algorithm, Pedro Domingos lifts the veil to give us a peek inside the learning machines that power Google, Amazon, and your smartphone.

He assembles a blueprint for the future universal learner--the Master Algorithm--and discusses what it will mean for business, science, and society. If data-ism is today's philosophy, this book is its bible.
”
Amazon.com
2
)

Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles

by
Narasimha Karumanchi
16.7
% recommend
🛒   Buy
“
Peeling Data Structures and Algorithms: "Data Structures And Algorithms Made Easy: Data Structures and Algorithmic Puzzles" is a book that offers solutions to complex data structures and algorithms. There are multiple solutions for each problem and the book is coded in C/C++, it comes handy as an interview and exam guide for computer scientists.

It can be used as a reference manual by those readers in the computer science industry. This book serves as guide to prepare for interviews, exams, and campus work.

In short, this book offers solutions to various complex data structures and algorithmic problems. Topics Covered: Introduction Recursion and Backtracking Linked Lists Stacks Queues Trees Priority Queue and Heaps Disjoint Sets ADT Graph Algorithms Sorting Searching Selection Algorithms [Medians] Symbol Tables Hashing String Algorithms Algorithms Design Techniques Greedy Algorithms Divide and Conquer Algorithms Dynamic Programming Complexity Classes Miscellaneous Concepts
”
Amazon.com
1
)

Introduction to Algorithms, 3rd Edition (The MIT Press)

by
Thomas H. Cormen
22.2
% recommend
🛒   Buy
“
The latest edition of the essential text and professional reference, with substantial new material on such topics as vEB trees, multithreaded algorithms, dynamic programming, and edge-based flow. Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor.

Introduction to Algorithms uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers.

Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming.

The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor. The first edition became a widely used text in universities worldwide as well as the standard reference for professionals.

The second edition featured new chapters on the role of algorithms, probabilistic analysis and randomized algorithms, and linear programming. The third edition has been revised and updated throughout.

It includes two completely new chapters, on van Emde Boas trees and multithreaded algorithms, substantial additions to the chapter on recurrence (now called “Divide-and-Conquer”), and an appendix on matrices. It features improved treatment of dynamic programming and greedy algorithms and a new notion of edge-based flow in the material on flow networks.

Many exercises and problems have been added for this edition. The international paperback edition is no longer available; the hardcover is available worldwide.
”
Amazon.com

Conclusion

I hope that you liked this list. Please do not hesitate to check out the other ones I've published.

Keep me updated!

Receive weekly update about best programming books!
Just that, no spam, no bs.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.