Algorithms are the lifeblood of computer science. They are the machines that proofs build and the music that programs play. Their history is as old as mathematics itself. This textbook is a wide-ranging, idiosyncratic treatise on the design and analysis of algorithms, covering several fundamental techniques, with an emphasis on intuition and the problem-solving process. The book includes important classical examples, hundreds of battle-tested exercises, far too many historical digressions, and exaclty four typos. Jeff Erickson is a computer science professor at the University of Illinois, Urbana-Champaign; this book is based on algorithms classes he has taught there since 1998.
so I used this extensively in my algorithms seminar I ran. I like his approach to algorithms especially in the earlier chapters of using songs to explain what an algorithm is and how to analysis it's runtime. there's a very subtle nuance he's trying to impart with those examples that works very well. my major gripe is the lack of graph theory, but we rarely got into it ourselves. I would put this on par with CLRS and a good modern no nonsense update to that format of textbook. it worries a lot less about the knuthian style of analysis and worries a lot more about building intuition for the subject matter. beautiful.
I was not able to finish this book and have read just several chapters. Pseudocode the author is using was too hard to process. And while he tried to make it a better read by introducing "Recursion Fairy", etc. it is more a textbook for a class, not a book you can read on your own.
Great book on algorithms. Assumes you know basic data structures before you dive in. Compared to the standard to which all algorithm books are measured, Introduction to Algorithms (aka CLRS), Erickson's book focuses more on explaining the intuition behind the algorithms. I still prefer the dryness of CLRS to this one but the different approach is refreshing. In some chapters, especially on maximum flow, I got a bit lost in the explanation and would have preferred something a bit more straightforward (like CLRS) of definition, theorem, proof. Nonetheless, this is a great read and highly recommended.
"Our recursive algorithm works for any positive number of disks, but it breaks down when n = 0. We must handle that case using a different method. Fortunately, the monks at Benares, being good Buddhists, are quite adept at moving zero disks from one peg to another in no time at all, by doing nothing."
A fantastically readable overview of the material required for a basic modern algorithms class. As a student, I can't speak to how good the book is to teach from, but it was certainly a pleasure to read.
Erickson has infused an inordinate amount of humor, pop culture references, and witty dialogue into this textbook. If theoretically efficient computing is important to you, this is at least an entertaining read.
One of the books we had read in University for our Algorithm class. It opens your mind to what basics are. Wanted to have a review after a decade and I still enjoyed it