These are lecture notes that I wrote for algorithms classes at the University of Illinois at UrbanaChampaign, which I have taught on average once a year since January 1999.
With few exceptions, each of these “lecture notes” contains far too much material to cover in one lecture. In a typical 75-minute class period, I cover about 4 or 5 pages of material—a bit more if I’m teaching graduate students than undergraduates. Moreover, I can only cover at most two-thirds of these notes in any capacity in a single 15-week semester. Your mileage may vary! (Arguably, that means that as I continue to add material, the label “lecture notes” becomes less and less accurate.) The undergraduate and graduate classes I teach cover different but overlapping subsets of this material. The notes are numbered in roughly the order I use them in undergraduate classes, with more advanced material inserted near the more basic material it builds on.
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