Start reading The Algorithm Design Manual on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here or start reading now with a free Kindle Reading App.

Deliver to your Kindle or other device


Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Sorry, this item is not available in
Image not available for
Image not available

The Algorithm Design Manual [Kindle Edition]

Steven S Skiena
4.2 out of 5 stars  See all reviews (11 customer reviews)

Print List Price: £55.07
Kindle Price: £48.29 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £6.78 (12%)
* Unlike print books, digital books are subject to VAT.

Free Kindle Reading App Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.

To get the free app, enter your e-mail address or mobile phone number.


Amazon Price New from Used from
Kindle Edition £48.29  
Hardcover £52.42  
Paperback £45.75  
Kindle Daily Deal
Kindle Daily Deal: Up to 70% off
Each day we unveil a new book deal at a specially discounted price--for that day only. Learn more about the Kindle Daily Deal or sign up for the Kindle Daily Deal Newsletter to receive free e-mail notifications about each day's deal.

Book Description

This expanded and updated second edition of a classic bestseller continues to take the 'mystery' out of designing and analyzing algorithms and their efficacy and efficiency. Expanding on the highly successful formula of the first edition, the book now serves as the primary textbook of choice for any algorithm design course while maintaining its status as the premier practical reference guide to algorithms.NEW: (1) Incorporates twice the tutorial material and exercises. (2) Provides full online support for lecturers, and a completely updated and improved website component with lecture slides, audio and video. (3) Contains a highly unique catalog of the 75 most important algorithmic problems. (4) Includes new 'war stories' and 'interview problems', relating experiences from real-world applications.Written by a well-known, IEEE Computer Science teaching-award winner, this new edition is an essential learning tool for students needing a solid grounding in algorithms, as well as a uniquely comprehensive text/reference for professionals.

Product Description


From the reviews of the second edition:

"...the book is an algorithm implementation treasure trove, and putting all of these implementations in one place was no small feat. The list of implementations, an extensive bibliography … make the book an invaluable resource for everyone interested in the subject." (ACM Computing Reviews)

"My absolute favorite for this kind of interview preparation is Steven Skiena’s The Algorithm Design Manual. More than any other book it helped me understand just how astonishingly commonplace … graph problems are -- they should be part of every working programmer’s toolkit. The book also covers basic data structures and sorting algorithms, which is a nice bonus. … every 1 – pager has a simple picture, making it easy to remember. This is a great way to learn how to identify hundreds of problem types." (Steve Yegge, Steve Yegge’s Blog, March, 2008)

"For a decade, Steven Skiena’s Algorithm Design Manual retained its title as the best and most comprehensive practical algorithm guide to help identify and solve problems. It is now available in an improved second edition that is worth buying simply for the updates. … Every programmer should read this book, and anyone working in the field should keep it close to hand. … Would I recommend it? Absolutely. This is the best investment … a programmer or aspiring programmer can make." (Harold Thimbleby, Times Higher Education, November, 2008)

"Addressing the main difficulties of solving problems, this book goes far beyond the design of algorithms. It is essential for scientists, engineers, and any professionals who aim to solve problems, with a noticeable emphasis on real problems. It will not only serve as a valuable undergraduate textbook, but it will also become an irreplaceable reference guide for most professionals in the area." (Carlos Linares Lopez, Computing Reviews, February, 2009)

"Skiena focuses on the practical aspects of algorithm design and use. … this work fills an important gap in the knowledge of CS practitioners and students. … this book is suitable as a text for an undergraduate algorithms class, but also as an invaluable reference for the practicing programmer. … This second edition has updated the bibliography to include recent works, making it an extensive bibliography. The index is also thorough and very useful for finding specific problems." (William Fahle, ACM Computing Reviews, December, 2008)

“Algorithms are the very heart of computing … . This book is about right for most people. … Each of the topics is treated in a readable informal style with lots of asides and accounts of personal experiences - ‘war stories’ in implementing algorithms. … If you want to use it as a course textbook then there are lots of exercises at the end of every chapter. Highly recommended.” (Mike James, I Programmer, September, 2009)

“The Algorithm Design Manual by Steven Skiena is aimed at two groups of people: students and professionals. … It is written in an informal style that I found pleasant and engaging. … The book’s unique structure makes it more likely to be immediately useful to the practitioner who has problem to solve and wants to quickly make progress … . the book succeeds admirably. … would be helpful to the student who has never seen this material before. … Overall, I recommend this book warmly.” (Neelakantan Kartha, The Book Review Column, 2011)

From the Back Cover

....The most comprehensive guide to designing practical and efficient algorithms!....

The Algorithm Design Manual, Second Edition

"...the book is an algorithm-implementation treasure trove, and putting all of these implementations in one place was no small feat. The list of implementations [and] extensive bibliography make the book an invaluable resource for everyone interested in the subject." --ACM Computing Reviews

"It has all the right ingredients: rich contents, friendly, personal language, subtle humor, the right references, and a plethora of pointers to resources." -- P. Takis Metaxas, Wellesley College

"This is the most approachable book on algorithms I have." -- Megan Squire, Elon University, USA

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

ADDITIONAL Learning Tools:

• Exercises include "job interview problems" from major software companies

• Highlighted take-home lesson boxes emphasize essential concepts

• Provides comprehensive references to both survey articles and the primary literature

• Exercises point to relevant programming contest challenge problems

• Many algorithms presented with actual code (written in C) as well as pseudo-code

• A full set of lecture slides and additional material available at

Written by a well-known algorithms researcher who received the IEEE Computer Science and Engineering Teaching Award, this new edition of The Algorithm Design Manual is an essential learning tool for students needing a solid grounding in algorithms, as well as a special text/reference for professionals who need an authoritative and insightful guide. Professor Skiena is also author of the popular Springer text, Programming Challenges: The Programming Contest Training Manual.

Product details

More About the Author

Discover books, learn about writers, and more.

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

Most Helpful Customer Reviews
13 of 13 people found the following review helpful
3.0 out of 5 stars Good coverage but presentation is not good 14 May 2012
By BrianK
First the pros: in terms of coverage, this book gives a good introduction to, and listing of, algorithms. The catalog that makes up the second half looks like an extremely useful reference (although I haven't had a chance to use it as such as I've only finished the book). The "War Stories" (sample real-world problems that the author has had to solve presented in a chatty style) are a good idea.

Now, the cons. I believe it really falls down on presentation.

1. Often poor explanations. I often found myself rereading lines/paragraphs over & over to try to get the meaning. Then going to wikipedia where the particular issue was clearly & concisely explained. The most cursory proofreading by a student could have easily pointed out the missing word/line that would have clarified the text. Also, the structure is out of order - sometimes reference is made to terms that are not explained until later in the text.

2. Mistakes. The book is full of mistakes. Typos, grammar, but worst of all - and this is unforgivable - code errors. I spent hours looking at one code solution wondering why I couldnt understand it. I finally suspected the problem was not with me & subsequently found a list of errata on the web (not allowed to put the link in this review). If you do buy this book I strongly urge you to check if your revision has these errors and, if so, correct them before you start reading. I cannot understand how this book got to a second edition (and God knows how many revisions) without correcting these errors. Some of them are crucial - code won't work with them. Even the word "not" is in one line when it shouldn't be!! This is unbelievably sloppy. Has noone actually proofread this book at all?

Its a shame the presentation is so poor. If I spent an hour or two with the author after reading it, I believe I could help him to substantially improve it in terms of presentation. With better presentation, I believe it would be a very worthwhile read.
Comment | 
Was this review helpful to you?
15 of 17 people found the following review helpful
2.0 out of 5 stars Quite Superficial 8 July 2010
Format:Hardcover|Verified Purchase
This book gives an extremely wordy yet superficial explanation of a lot of algorithms, it goes to great lengths to describe the problem but doesn't really go into enough depth on anything but the basics to be immediately useful in formulating a solution. I know this has quite a few good reviews, so I guess people have found it useful, but personally I would say wikipedia is a much better source for information about a lot of the things discussed in this book, both in terms of depth of information and succinctness. The book is useful as an index into the wider world of algorithms but quite why it took the author 700 pages to achieve this is beyond me.
Comment | 
Was this review helpful to you?
1 of 2 people found the following review helpful
This is a good introduction to algorithms and data structures, and covers in detail most of the common algorithms, but is perhaps less useful to the seasoned veteran looking for a reference book.

It starts with the basics, explaining Big O notation, sorting algorithms, Linked Lists, Hashing, and Binary Trees etc. Next there are a several chapters on Graphs, both weighted and unweighted and their corresponding algorithms - depth/breadth first search, shortest path, minimum spanning tree, maximum flow etc.

Then there's coverage of more advanced topics such as dynamic programming, heuristics and NP hard problems, and finally the second half of the book details problems you're likely to encounter and the relevant algorithms that can be used to solve them.

All the examples are given in C, so you may need at least a passing familiarity with the language to get the most out of this book.

Whilst it's a good learning aid, more advanced algorithms whilst mentioned aren't given in any detail. For example it'd be nice to know how the various flavours of self balancing binary trees work, or how exactly to construct a suffix tree. Still the book makes for a very good starting point.
Comment | 
Was this review helpful to you?
2 of 3 people found the following review helpful
4.0 out of 5 stars Nice book but misses some important topics 8 Mar. 2011
It's a very nice book to read with a straight to the point approach, but I missed something deeper about trees and other things that Introduction to Algorithms covers more completely.
Comment | 
Was this review helpful to you?
1 of 2 people found the following review helpful
5.0 out of 5 stars A real manual to building ideas 16 Jan. 2014
Format:Hardcover|Verified Purchase
What I like about this book is that, it does not talk about what a particular algorithm does and how it is implemented, but more it takes you on a flight between two algorithms. It trains the methodology, logical plan how (and possibly why) one takes off from an earlier algorithm and goes on developing something new.

A must read for any computer scientist, student or educator, who likes to invest more in ideas than the actual details.
Comment | 
Was this review helpful to you?
1 of 2 people found the following review helpful
5.0 out of 5 stars A fantastic book on Algorithms 26 Jan. 2012
By Joe
Format:Kindle Edition
This is a fantastic book, filled with interesting stories and information, well written and informative. It covers all aspects of algorithm design from the basics through to advanced graph based algorithms. It also comes with a great recipe book at the back for selecting the correct algorithm to solve a problem. I would not hesitate to recommend it to anyone - it will make you a better programmer.
Comment | 
Was this review helpful to you?
Would you like to see more reviews about this item?
Were these reviews helpful?   Let us know

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category