Rating:

(39 reviews)
Author: Jon Kleinberg
ISBN : 0321295358
New from $70.99
Format: PDF, EPUB
Download Free Algorithm Design [Hardcover] from mediafire, rapishare, and mirror link
Algorithm Design introduces algorithms by looking at the real-world problems that motivate them. The book teaches students a range of design and analysis techniques for problems that arise in computing applications. The text encourages an understanding of the algorithm design process and an appreciation of the role of algorithms in the broader field of computer science.
August 6, 2009 Author, Jon Kleinberg, was recently cited in the New York Times for his statistical analysis research in the Internet age.
Books with free ebook downloads available Free Algorithm Design [Hardcover]
- Hardcover: 864 pages
- Publisher: Addison-Wesley; 1 edition (March 26, 2005)
- Language: English
- ISBN-10: 0321295358
- ISBN-13: 978-0321295354
- Product Dimensions: 1.4 x 8.1 x 9.2 inches
- Shipping Weight: 3.5 pounds (View shipping rates and policies)
Free Algorithm Design
The flow in this book is excellent. The authors do a great job in organizing this book in logical chapter. The chapters are organized into techniques to find solutions to particular problems, like for example, Greedy Algorithms, Divide and Conquer, and Dynamic Programming.
Each chapter contains a few representative problems of the technique or topic discussed. These are discussed in great detail, which is helpful to initially grasp the concepts. Furthermore, the end of each chapter contains a number of solved exercises. These are written up in less detail than the chapter problems, because they are usually slight variations or applications of the representative problems. I found these to be very helpful to me, as to build up a stronger grasp of the problem at hand.
Furthemore, the progressive search for a solution, such as for the Weighted Interval Scheduling problem using dynamic programming, is essential to understanding the process through which we can find such algorithms. The book is well written, in a clear, understandable language. The supplementary chapters on Basics of Algorithm Analysis and Graph Theory are a great started for people who have not been exposed to those concepts previously.
Network flows are covered extensively with their applications. I suppose this section of the course was enhanced because our instructor's research interests are Network Flows and she threw example after example at us. There are a great number of problems at the end of this chapter to practice.
(...)
One of the strenghs of this book, is that when the authors determine the running time of a particular algorithm, they write about how to implement it, with which data structures and why.
Broad coverage. Poor organization. I used to use it as a text book for a first course in algorithms, in the Open University of Israel while I was teaching there.
Absolutely inferior to Cormen for an introductory course on algorithms.
Hardly adequate for self study.
The authors structure the book according to an "algorithmic design strategy" concept - that is, Greedy, Divide and Conquer, Dynamic programming, etc... but but soon enough they're out of ideas, as the later chapters just follow the standard topics of any other text book: network flow, NP-completeness, approximation algorithms, heuristic search etc... (although, as said - the coverage is pretty broad).
The problem with such an approach, as much as it might be appealing for a mature computer scientist, is, that for a student, grasping the "paradigm" or an "algorithmic strategy" is almost impossible, especially when he learned about BFS, DFS and Dijkstra's algorithms about two weeks ago. It just makes him confused.
The authors try to develop the "right" algorithm in an incremental way, which may be an appropriate in a class room, but in a text book it is, once again, just confusing. You can never know if the current version of the algorithm is "the canonical one", or just another thought experiment. Even when the final version of the algorithm is presented - the pseudo code is excruciatingly terse, the complexity isn't clearly stated in the same paragraph, but mentioned in some remote part of the discussion.
Even the pseudo code typography looks like a Telnet printout from the 70s. How I missed the elegant notation of Cormen, not to mention Knuth...
Download Link 1