As the author says in the preface, there are two ways of presenting algorithms. Oneclassifies algorithms according to a problem type. The other classifies algorithms according to design techniques. A book in the first category will have separate chapters on sorting, searching, graphs etc. These books are like a toolbox. Programmers pick a particular algorithm needed for a problem, modify it if needed and obtain a solution. Most of the algorithm books fall in this category.
The problem with this approach is that you have at your disposal only a finite set of algorithms to play with. What if you needed some new kind of algorithm for a specific problem. You are stuck, because most books on algorithms don't teach you how todesign new algorithms or what design technique is most suited for your particular problem. It is here that Anany Levitin's book fills the gap. He teaches you the major design techiniques like Brute-Force, Divide-and-Conquer, Greedy techniques. The various algorithms like sorting, searching, graph algorithms are classified according to the various techniques. The advantage of this is that many diverse algorithms get classified according to a particular design technique. For e.g Bubble sort, Convex-Hull problem, Travelling salesman problem, Knapsack problem all fall in the Brute-Force design category. So when you are designing new algorithms you know at the start what type of problem it is and how it should be tackled.
The book teaches you algorithm design and analysis from a completely different view point. It is entertaining to read and the problems at the end of each chapter are wonderful. I only hope that the author adds nore algorithms in his next edition. Go get it!
Download
The problem with this approach is that you have at your disposal only a finite set of algorithms to play with. What if you needed some new kind of algorithm for a specific problem. You are stuck, because most books on algorithms don't teach you how todesign new algorithms or what design technique is most suited for your particular problem. It is here that Anany Levitin's book fills the gap. He teaches you the major design techiniques like Brute-Force, Divide-and-Conquer, Greedy techniques. The various algorithms like sorting, searching, graph algorithms are classified according to the various techniques. The advantage of this is that many diverse algorithms get classified according to a particular design technique. For e.g Bubble sort, Convex-Hull problem, Travelling salesman problem, Knapsack problem all fall in the Brute-Force design category. So when you are designing new algorithms you know at the start what type of problem it is and how it should be tackled.
The book teaches you algorithm design and analysis from a completely different view point. It is entertaining to read and the problems at the end of each chapter are wonderful. I only hope that the author adds nore algorithms in his next edition. Go get it!
Download