Introduction to Algorithms Author: Thomas H. Cormen | Language: English | ISBN:
B007CNRCAO | Format: PDF
Introduction to Algorithms Description
A new edition of the essential text and professional reference, with substantial new material on such topics as vEB trees, multithreaded algorithms, dynamic programming, and edge-base flow.
- File Size: 14292 KB
- Print Length: 1312 pages
- Publisher: MIT Press; third edition edition (September 15, 2009)
- Sold by: Amazon Digital Services, Inc.
- Language: English
- ASIN: B007CNRCAO
- Text-to-Speech: Not enabled
X-Ray:
- Lending: Enabled
- Amazon Best Sellers Rank: #29,728 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
- #22
in Books > Computers & Technology > Programming > Algorithms - #58
in Kindle Store > Kindle eBooks > Computers & Technology > Programming
- #22
in Books > Computers & Technology > Programming > Algorithms - #58
in Kindle Store > Kindle eBooks > Computers & Technology > Programming
First of all, this is the quintessential book on algorithms. If you want to learn, this is the book to get. The information in the book is awesome and it can make an excellent reference.
Students will need a very strong mathematical background and a strong arm to even think about picking up this book because the it is heavy (both physically and metaphorically). Mastery of discrete math is a must, graph theory, programming, and, combinatorics will also help.
With that said, this book falls short in one MAJOR area, explanations. Too often explanations are left out and left as exercises and there are no solutions to the exercises! Or details are replaced by ambiguous statements such as of "cleary, this works", or "it is easy to see that this ...". I get the concept of learning by doing, really I do, but there should be some kind of solutions so the student can CHECK his/her understanding of the material and sometimes the exercises are not about advanced aspects of a concept, sometimes it is the core material. Even if the solution manual only contained a simple answer without the work. Not only would it help tremendously but the purpose of doing the exercises would be preserved; that is the student getting his/her "hands dirty" and working out a problem.
For the love everything good and pure in this universe, I really wish writers of mathematical books would stop using statements like "clearly this works" or "it is easy to see", "it is obvious" etc. While that may be true for you and your brilliant circle of colleagues, everything is not always clear and obvious to your readers. Save all of that ambiguity for your research paper.
A great book should deliver in two areas; it should challenge and it should inform. The challenge is there, no doubt.
An algorithm is nothing more than a set of computational steps that transform a specific input into a desired output. From that definition, there are plenty of books on the market that are "cookbooks" of algorithms and will enable you to do just that - transform specific inputs into outputs, complete with source code, and with no real depth of understanding of your own required. However, to be a computer scientist versus a programmer, you need to know what makes an efficient algorithm, why is a particular algorithm efficient, what kinds of common data structures are involved in various computing problems, how to traverse those data structures efficiently, and a notation for analyzing various algorithms. This book will help you learn all of that. The study of the theory of algorithms is not to be undertaken lightly, and I don't recommend you attempt to self-study such a complex subject with such strong mathematical underpinnings. In fact, this book is really aimed at graduate computer science students and is often on the reading list of Ph.D. qualifying examinations in that field.
For students of graph theory, you might find your knowledge solidly supplemented by the material in chapters 22 through 26 on graph algorithms. The last section of the book, "Selected Topics", goes over various specific algorithms from many fields using the knowledge of algorithm design and analysis you have learned up to this point in the book. Throughout, the text is very clear, and there are plenty of instructive diagrams and pseudocode.
One of the most interesting parts of the book is the chapter on NP-completeness. This is the study of problems for which no efficient algorithm has ever been found. These problems are interesting for two reasons.
Introduction to Algorithms Preview
Link
Please Wait...