The Algorithm Design Manual

Title: The Algorithm Design Manual
Author: Steven S. Skiena
ISBN: 3030542580 / 9783030542580
Pages: 793
Publisher: SPRINGER
Year: 2021
Availability: 10-15 days

Tab Article

"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, Get that Job at Google)

"Steven Skiena’s Algorithm Design Manual retains its title as the best and most comprehensive practical algorithm guide to help identify and solve problems. … Every programmer should read this book, and anyone working in the field should keep it close to hand. … This is the best investment … a programmer or aspiring programmer can make." (Harold Thimbleby, Times Higher Education)

"It is wonderful to open to a random spot and discover aninteresting algorithm. This is the only textbook I felt compelled to bring with me out of my student days.... The color really adds a lot of energy to the new edition of the book!" (Cory Bart, University of Delaware)

"The is the most approachable book on algorithms I have."   (Megan Squire, Elon University)

---

This newly expanded and updated third edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficiency.  It serves as the primary textbook of choice for algorithm design courses and interview self-study, while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students.

Tab Article

Chapter 1 : Introduction to Algorithm Design
Chapter 2 : Algorithm Analysis
Chapter 3 : Data Structures
Chapter 4 : Sorting
Chapter 5 : Divide and Conquer
Chapter 6 : Hashing and Randomized Algorithms
Chapter 7 : Graph Traversal
Chapter 8 : Weighted Graph Algorithms
Chapter 9 : Combinatorial Search
Chapter 10 : Dynamic Programming
Chapter 11 : NP-Completeness
Chapter 12 : Dealing with Hard Problems
Chapter 13 : How to Design Algorithms
Chapter 14 : A Catalog of Algorithmic Problems
Chapter 15 : Data Structures
Chapter 16 : Numerical Problems
Chapter 17 : Combinatorial Problems
Chapter 18 : Graph Problems: Polynomial Time
Chapter 19 : Graph Problems: NP-Hard
Chapter 20 : Computational Geometry
Chapter 21 : Set and String Problems
Chapter 22 : Algorithmic Resources