You've probably heard this formula: program = data structure + algorithm. What it means is that: data structure is the skeleton of a program, and algorithm is the soul of the program. Therefore, data structures and algorithms are very complex, abstract and difficult to understand knowledge. Even for a skilled programmer, it is not easy to master both data structure and algorithm well.

Thereinto, algorithm is the core subject in the field of computer science, a technique that people use with computer to solve practical issues, and a step by step process to solve problems. Its essence is a set of instructions to complete the assigned tasks, thus any code snippet can be considered as an algorithm. Common algorithm textbooks are often extremely boring, discouraging readers from learning with enthusiasm and confidence.

Grokking Algorithms - An illustrated guide for programmers and other curious people is a fascinating and handy introduction book to algorithms that is as interesting as a novel. It is illustrated, comes with rich examples, and explains the algorithm clearly in an easy-to-understand way, aiming to make it much easier for readers to learn how to better use the power of algorithms in their own programs. It is suitable for all programmers, teachers and students that are studying computer related majors, as well as any other people who are interested in algorithms.

Grokking Algorithms is all about entry-level algorithms, but they are elaborately arranged by the author. The first three chapters introduce the algorithm foundation; the rest of the length mainly explains the most widely used algorithms. Comfortable dialogue style of writing method and graphical supporting detail can help readers grasp the basic concept of algorithms easily and naturally, and make them develop the habit of active thinking, so as to achieve the purpose of solving practical problems with algorithm in the real world.

Table Of Contents

  • Chapter 1. Introduction to Algorithms
  • Chapter 2. Selection Sort
  • Chapter 3. Recursion
  • Chapter 4. Quicksort
  • Chapter 5. Hash Tables
  • Chapter 6. Breadth-first Search
  • Chapter 7. Dijkstra’s algorithm
  • Chapter 8. Greedy algorithms
  • Chapter 9. Dynamic programming
  • Chapter 10. K-nearest neighbors
  • Chapter 11. Where to go next
  • Appendix. Answers to Exercises

Book Example Codes

Download URLs

Format Download Size
Grokking Algorithms, Second Edition
PDF 40.9 MB
(Homepage)