This book emphasizes the creative aspects of algorithm design by examining steps used in the process of algorithms development. The heart of this creative process lies in an analogy between proving mathematical theorems by induction and designing combinatorial algorithms. The book contains hundreds of problems and examples. It is designed to enhance the reader's problem-solving abilities and understanding of the principles behind algorithm design.
"introduction" since it does not require much background to understand, but by no means simple. I found myself staring into space thinking about chapter 1's exercises.
I also feel I got greater appreciation for induction, although at some point in high school I laughingly summed up that it's been taught to me 5+ times in various classes, math camps etc.
So, thanks Udi, I wish I met your book sooner!
Anyone who invests serious daily time into the book and takes it slow (giving most chapters a week or more) is bound to get better at algorithm design, and get a better feel for whether an algo has room for improvement (you'd be surprised how often it does -- that's been one of my big high level takeaways).
Probably a good companion/complement to Polya's "how to solve it", although that book is so deceptively commonsensical and simple that I found it harder to apply / get direct inspiration from. This one makes you feel smarter, so be sure to not get overconfident after skimming it -- a book on long distance runner won't make you a world-class (or even passable) marathoner, although it will improve your practices.
Absolutely amazing. For the first time, I have ever read a book that guides reader how to "think", other than throwing a list of meaningless formulas. Udi Manber really shines here.
Unlike other textbooks, this book is not just a catalog of algorithms. It teaches how to develop algorithms using the inductive or iterative method, similar to mathematical induction.