Introduction to Algorithms, 3rd Edition (MIT Press)

Author: Thomas H. Cormen
All Stack Overflow 54
This Year Reddit 59
This Month Reddit 7

About This Book

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 new exercises and problems have been added for this edition. As of the third edition, this textbook is published exclusively by the MIT Press.

Introduction to Algorithms, 3rd Edition (MIT Press)


Review Date:


by liveoneggs   2018-11-17
there are a few books you can get:

A lot of "classic" problems are so embedded into CS professors that they don't even see them as problems anymore (lazy caterer, pick's theorem, etc) so if you didn't study these classics explicitly in school you have to discover them on your own.

by balefrost   2018-11-10

It covers sorting, searching, graphs, and all the other staples of DS&A. It's not as in-depth as something like Introduction to Algorithms , but it covers pretty much everything that a college-level course would cover.

Also FYI, on Reddit, you can use /u/DifficultPassion to refer to a user (not @DifficultPassion).

by AgiIity   2018-11-10

Those are solutions to problems, I believe you can find a copy online for free but I’m not sure where. It’s definitely a nice book to have in your library though so I recommend buying it. Amazon

by tsims25   2018-11-10

Best book I’ve read on Algorithms

by rjcarr   2018-03-19

Doesn't the course offer a book? The professor might suck, but what about the textbook?

Otherwise, I think these two are the most commonly recommended algorithm books:

by PennyPriddy   2018-03-19

As someone in tech, I would say that the big things the coding camps don't cover is algorithms and data structures. A lot of the bigger company's tech interviews expect some degree of knowledge in those topics, so it'd be worth it to brush up on those on your own. There's a lot you can learn online, but this book is also incredibly good. I'm not sure if applies to machine learning, but the other book I wouldn't have wanted to be without when I was interviewing was "Cracking the Coding interview" and going from there to interviews on career cup.

The reason LaCita got downvoted is that it's not "guaranteed" you'll be making 100k+ in 1-2 years (I got very lucky and am making it after 3 years and a traditional four year education). There are still a lot of good and rewarding jobs in tech (and I'm glad you found a field in it you love), but there's sometimes an attitude that it's a high paying job anyone can get and anyone can do and you're guaranteed the kind of pay that is usually found at top companies and that's not always true.

Also, 100k+ is only great if you're not living in a high tech area that raised rents accordingly. I've had too much depressing fun playing "how much is my rent" since moving to Silicon Valley. No one ever guesses high enough.

by ideasbro   2018-03-19

I’m currently taking CSE 310 with Richa, and this is the book we use: Intro to Algorithms . I recommend really practicing asymptotic analysis (i.e. big-O, big-theta, big-omega) for algorithms, as well as reviewing and understanding your basic sorting algorithms. These topics are covered in the first few weeks, and they hit fast. Other than that, we’ve just been learning about data structures (e.g. binary trees, red-black trees, hash tables, etc.) and their pseudocode functions which are in the book. Don’t focus so much on the specifics of the code, but rather how they work conceptually. Good luck!

by kevstev   2018-02-16

Algorithms and Data Structures

Compiler Design how does code get from print("Hello World!") to machine instructions.

Hardware design

You can probably find all of these books as pdfs if you look hard enough...

Those are the big ones in my eyes. Understanding how the internet works is pretty fundamental these days- look to the Stevens book(s) on TCP/IP for that.

Database systems would be another very fundamental area these days.

by ConnorMcLaud   2018-02-16

Man, this is book about algorithms with less than 750 pages. It is relatively thin.

For comparision Introduction to Algorithms, 3rd Edition (MIT Press) 3rd Edition I consider best of all time have over 1300 pages.

Time which is needed to study it is much more important than number of pages. Couple of weeks vs couple of months is crucial when you prepare to job interview. Skiena achieved this by skipping most of the math and focusing on real world examples