The Algorithm Design Manual 2nd Edition by Steven S Skiena (PDF)

4

 

Ebook Info

  • Published: 2009
  • Number of pages: 730 pages
  • Format: PDF
  • File Size: 5.51 MB
  • Authors: Steven S Skiena

Description

This newly expanded and updated second edition of the best-selling classic continues to take the “mystery” out of designing algorithms, and analyzing their efficacy and efficiency. Expanding on the first edition, the book now serves as the primary textbook of choice for algorithm design courses while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students.The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Techniques, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, Resources, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations and an extensive bibliography.NEW to the second edition:• Doubles the tutorial material and exercises over the first edition• Provides full online support for lecturers, and a completely updated and improved website component with lecture slides, audio and video• Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them• Includes several NEW “war stories” relating experiences from real-world applications• Provides up-to-date links leading to the very best algorithm implementations available in C, C++, and Java

User’s Reviews

Reviews from Amazon users which were colected at the time this book was published on the website:

⭐This text strikes a perfect balance between too complex and too simple– with hundreds of practical techniques that give a great overview of nearly every type of algorithm problem we encounter. This is NOT a “theory” text about big Oh (although it has a chapter), efficiency, p vs np and advanced calculus and linear algebra, but does show practical ways to design algorithms and answer questions in that interview.As an example, older calculators always started “high” when finding quadratic factors or square roots. Skiena (p. 134) shows that three possible “front ends” can make subsequent iteration (trial and error until you’re done) faster and more efficient: 1. The older always start high method 2. A common bisection technique– split the problem, then, by “divide and conquer” go higher or lower and 3. Use interpolation to get closer sooner, then iterate.The book is set up both as a self study and year long course text, but frankly the presentation is far from academic and much more rubber hits the road practical, realistic, design. The background is given with pseudocode, then the basic level of math needed to get the job done without pages of theory and proofs of Big Oh efficiency, etc.Since 2008, the next edition in 2010, and this 2012 “printing corrections” edition (not considered a true edition, but contains many detailed corrections), this book has found a great audience in interview prep, because the author takes such a real world approach to solutions. Make sure you get the corrected edition if you buy from an Amazon third party vendor, you will if you get it directly from Amazon.Highly recommended for all levels of programmers. The index also has been updated, and some of the previous reviews pointing out errors corrected, making this an outstanding reference. As if 700 pages weren’t enough, the author also provides 19 sections of practical reviews of online resources and a detailed 43 page very current bib. If you’re looking for a difficult to find “vein” of info (say, for example, on CAS algos), you’ll find a wealth of info in these sections. Many volumes call themselves cookbooks, this really IS the best of that genre. If you can afford only one algo book, and want to use it without a tutor, teacher or coach, this is the one. Don’t take that to mean it’s simple– it’s just as deep as the academic texts, but simply removes all the math you don’t use every day anyway. It’s really more for programmers than researchers, but researchers would still learn a lot about how practical algo writers frame problems.Library Picks reviews only for the benefit of Amazon shoppers and has nothing to do with Amazon, the authors, manufacturers or publishers of the items we review. We always buy the items we review for the sake of objectivity, and although we search for gems, are not shy about trashing an item if it’s a waste of time or money for Amazon shoppers. If the reviewer identifies herself, her job or her field, it is only as a point of reference to help you gauge the background and any biases.

⭐I’d mildly recommend most of this book. It’s an accessible approach to the field of study and shies away from mathematical notation that makes a lot of similar textbooks hard to read as an adult engaged in independent study. The author is fond of lucid and effective examples that make it easy to grasp the basic concept of a lot of otherwise opaque/obscure algorithms.My one complaint is the odd tone that emerges from a lot of the “war stories,” where the author often positions himself as the all-knowing and seasoned teacher and consultant, tasked with addressing the foolish mistakes of his business partners and graduate students. It’s probably an accident (he’s just reporting the facts from his own life), but there are some unhelpful tropes that creep into these stories, like the foolish female student and the Asian students who all seem to look alike.Overall, I didn’t hate the book. I haven’t read any of its competitors, so I can’t speak to its global merits. I would recommend it, but not so strongly that I would discourage you from look at the other options and deciding what makes sense for you.

⭐I’ve read through the first half of the book, and am now at the catalog of algorithms that makes up the second half, and I’ve really enjoyed the book so far.Most books on algorithms take a very formal, math heavy approach in which they present, analyze and prove things about a somewhat arbitrary collection of algorithms. There’s usually no mention of real world applications.This book, however, takes a different approach, and serves as a guide book for using algorithms in the real world. There’s a heavy emphasis on formulating problems in terms of existing, solved problems. If you can “map” your problem to one with a known solution, then you can use the proven, existing solution to solve your problem. To emphasize that point, roughly the entire second half of the book is a catalog of known problems and solutions, with references to software libraries, books and other sources of information.I also love that the example code is in C. Too many books give example code in languages with a lot of overhead, like Java, and end up obscuring the important parts with a ton of object-oriented crap. Yes – OOP is nice, but unless I’m reading a book on OOP, I don’t want to dig through 30 lines of irrelevant boilerplate just to find the 10 lines relevant to the algorithm.That said, it’s not the best code in the world. Some of the snippets could be explained better. And there were a few stylistic issues, such as leaving off function return types and a bunch of global variables, that I didn’t like, but I’m willing to forgive those because it’s not a book on C, and the lack of syntactic clutter made the algorithm easier to see.I also thought chapter nine was a bit too long. A good portion of the chapter is spent reducing various NP-complete problems to other NP-complete problems. Interesting, but it was a bit too theoretical, and didn’t really fit with the with the rest of the book.

⭐Don’t buy this book expecting a very detailed and mathematical approach to each algorithm.However, this book provides an excellent catalog of algorithms, very handy if you need to revisit topics you have forgotten (or read about things you may have missed). It’s indeed helpful if you prepare for a tough interview.Beware of bugs in the code though. It’s best to implement each solution yourself anyway.

⭐I read the first edition of this book back in University and bought a new copy for my girlfriend who’s learning programming, it’s as good as I remembered.The text is very accessible to read and the pictures help to visualise and understand what’s going on.

⭐Bought because advertised over the web as a good book to prepare for a tough job interview but the book is not good, it is simply not rigourous and you will find it poor if you have already studied the subject elsewhere.My main objection to it is that it strives to be a popular book when in fact the subject is highly technical – no matter how you try to slice it.

⭐Great compilation of problems, written in an easy to understand matter. Code examples are very useful.

⭐Some books (like IL Finar for Organic Chemistry, and Cormen for Algorithms) are the quarries of knowledge. You mine and find more and more knowledge. Read these books only if you have enough understanding of what it takes to write an algorithm (or mechanism).Another category of books give you a basic understanding of subject. This book is that kind. It helps you understand why algorithms work the way they do. One thing, which I like in the book is, the book describes the way the author sees the world, and author never shies from telling how he was wrong at a point, and how quickly he mended his ways.Algorithms are like mathematics. It does not matter how many questions you solve, you can still go wrong at places. You still have things to learn. Algorithms are no different. It is ok to write wrong or sub-optimal algorithms. It is ok to do mistakes. It is always laudable to correct your course and understand why two seemingly similar things are inherently different. This usually adds to the insight about life. This adds depth instead of horizon, the latter can be added later.

Keywords

Free Download The Algorithm Design Manual 2nd Edition in PDF format
The Algorithm Design Manual 2nd Edition PDF Free Download
Download The Algorithm Design Manual 2nd Edition 2009 PDF Free
The Algorithm Design Manual 2nd Edition 2009 PDF Free Download
Download The Algorithm Design Manual 2nd Edition PDF
Free Download Ebook The Algorithm Design Manual 2nd Edition

Previous articleData Structures and Algorithms with Python (Undergraduate Topics in Computer Science) 2015th Edition by Kent D. Lee (PDF)
Next articleA Beginner’s Guide to Scala, Object Orientation and Functional Programming 2nd Edition by John Hunt (PDF)