Synopses & Reviews
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.
Review
Aus den Rezensionen zur 2. Auflage : "... Skiena ... präsentiert ... einen umfangreichen Katalog wichtiger Konzepte aus unterschiedlichen Bereichen ... Jedes einzelne Verfahren stellt er als kompaktes Rezept vor und konzentriert sich dabei auf die Anwendung ... Skienas Schreibstil bleibt trotz der akademisch anspruchsvollen Materie lebendig und außerdem humorvoll. Häufig bettet er Geschichten in den Text ein, die er als Software-Entwickler erlebt hat. Sie sollen den Einsatz der vorgestellten Verfahren in der Praxis veranschaulichen. Viele Übungsaufgaben und ein umfangreiches Online-Angebot für Lehrkräfte runden das positive Bild ab." (Maik Schmidt in: c't - magazin für computer technik, 2009, Issue 1, S. 196)
Review
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)
Review
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)
Synopsis
....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."
Synopsis
Most professional programmers that I ve encountered are not well prepared to tacklealgorithmdesignproblems.Thisisapity, becausethetechniquesofalgorithm design form one of the core practical technologies of computer science. Designing correct, e?cient, and implementable algorithms for real-world problems requires access to two distinct bodies of knowledge: Techniques Good algorithm designers understand several fundamental - gorithm design techniques, including data structures, dynamic programming, depth-?rst search, backtracking, and heuristics. Perhaps the single most - portantdesigntechniqueismodeling, theartofabstractingamessyreal-world application into a clean problem suitable for algorithmic attack. Resources Good algorithm designers stand on the shoulders of giants. Ratherthanlaboringfromscratchtoproduceanewalgorithmforeverytask, they can ?gure out what is known about a particular problem. Rather than re-implementing popular algorithms from scratch, they seek existing imp- mentations to serve as a starting point. They are familiar with many classic algorithmic problems, which provide su?cient source material to model most any application. This book is intended as a manual on algorithm design, providing access to combinatorial algorithm technology for both students and computer professionals."
Synopsis
Expanding on the highly successful formula of the first edition, this 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.
Synopsis
Steven Skiena is Professor of Computer Science at Stony Brook University. His research interests include the design of graph, string, and geometric algorithms, and their applications (particularly to biology). He is the author of four books, including "The Algorithm Design Manual" and "Calculated Bets: Computers, Gambling, and Mathematical Modeling to Win". He is recipient of the ONR Young Investigator Award and the IEEE Computer Science and Engineering Undergraduate Teaching Award.
Synopsis
....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."
Table of Contents
Part I: Practical Algorithm Design. Introduction to Algorithms. Algorithm Analysis. Data Structures. Sorting and Searching. Graph Traversal. Weighted Graph Algorithms. Combinatorial Search and Heuristic Methods. Dynamic Programming. Intractable Problems and Approximations. How to Design Algorithms.- Part II: The Hitchhiker's Guide to Algorithms. A Catalog of Algorithmic Problems. Data Structures. Numerical Problems. Combinatorical Problems. Graph Problems: Polynomial-Time. Graph Problems: Hard Problems. Computational Geometry. Set and String Problems. Algorithmic Resources.- Bibliography.- Index.