Monday, August 12, 2013

Algorithm Design by Jon Kleinberg and Éva Tardos introduces algorithms by looking at the real-world problems that inspire them. The book teaches students a spread of design and analysis methods for problems that come up in computing applications. The text encourages an understanding of the algorithm design process and an appreciation of the function of algorithms within the broader field of computer science.

After reading this book, students should be capable of understand the ideas and skills of algorithm design, implement some well known algorithms and analyze the performance of algorithms. The authors do an amazing job in organizing this book in logical chapter. The chapters are organized into techniques to search out solutions to particular problems, like for example, Greedy Algorithms, Divide and Conquer, and Dynamic Programming.

Each chapter contains just a few representative problems of the technique or subject discussed. These are mentioned in nice detail, which is useful to initially grasp the concepts. Moreover, the tip of every chapter accommodates numerous solved exercises. These are written up in much less detail than the chapter problems, because they're normally slight variations or applications of the consultant problems. I found these to be very useful to me, as to construct up a stronger grasp of the problem at hand.

Furthermore, the progressive search for an answer, comparable to for the Weighted Interval Scheduling downside utilizing dynamic programming, is important to understanding the process by which we will find such algorithms. The book is well written, in a transparent, comprehensible language.