Grokking Algorithms

Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer. This book is a great introduction to Python programming and algorithms in general. We’ll start with basics like sorting and searching then move on to more complex problems.

Contents

  1. Introduction to algorithms.
  2. Selection sort.
  3. Recursion.
  4. Quicksort.
  5. Hash tables.
  6. Breadth-first search.
  7. Dijkstra’s algorithm.
  8. Greedy algorithms.
  9. Dynamic programming.
  10. K nearest neighbors.
  11. Where to go next.

Dependencies

This repo was created using Python 3 and the PyCharm IDE.

Check the project here.

Tags: algorithms arrays breadth-first-search dijkstra dynamic-programming k-nearest-neighbors greedy hashtable python quicksort recursion selection-sort