User:Dicewitch/Python Algorithms Study Guide

Dropzone
List of algorithms

Foundational Concepts
Algorithm

Computer

Summary

 * Big O notation
 * Graph (discrete mathematics)
 * Tree (data structure)
 * Glossary of graph theory terms
 * Graph theory
 * Vertex (graph theory)


 * Black box
 * Floating-point arithmetic

If you're curious...

 * Turing machine
 * The Annotated Turing
 * Donald Knuth

Summary

 * Discrete mathematics
 * Recurrence relation
 * Master theorem (analysis of algorithms)
 * Summation

If you're curious...

 * Combinatorics
 * Concrete Mathematics by Graham, Knuth and Patashnik
 * Generating function
 * annihilator
 * Akra–Bazzi method

4. Induction and Recursion

 * Mathematical induction
 * Recursion (computer science)
 * Reduction (complexity)
 * Topological sorting
 * Relaxation (approximation)

If You're Curious

 * Functional programming
 * Haskell (programming language)
 * Clojure
 * Fixed-point theorem
 * How to Solve It

5. Traversal

 * Eulerian path
 * Hamiltonian path
 * Seven Bridges of Königsberg
 * Depth-first search
 * Iterative deepening depth-first search
 * Breadth-first search
 * Graph traversal
 * Maze solving algorithm
 * Kosaraju's algorithm

6. Divide, Combine, and Conquer

 * Divide and conquer algorithm
 * Merge sort
 * Quicksort
 * Closest pair of points problem
 * Convex hull algorithms
 * Binary search tree
 * Self-balancing binary search tree

If you're curious...

 * Bisection (software engineering)
 * Interpolation search
 * Bloom filter
 * Red–black tree
 * AVL tree
 * Splay tree
 * Treap
 * Skip list
 * Spatial database
 * Interval tree
 * Quadtree
 * Octree

7. Greed is Good

 * Greedy algorithm
 * Knapsack problem
 * Huffman coding
 * Minimum spanning tree
 * Kruskal's algorithm
 * Prim's algorithm

If you're curious...

 * Matroid
 * Greedoid
 * Matroid embedding

Summary

 * Dynamic programming
 * Memoization
 * Longest increasing subsequence

If you're Curious...

 * Markov model
 * Viterbi algorithm
 * Dynamic time warping

Summary

 * Shortest path problem