This is my attempt at implementing every algorithm and data structure I come across. They were implemented for educational purposes, and is not for production use!
Table of Contents
- Bakery algorithm
- Barrier
- Dining philosophers problem
- Dining savages problem
- Light switch
- Producers–consumers problem
- Readers–writers problem (with writer priority)
- A*
- Alpha-beta pruning
- AVL Tree
- BFS and DFS
- Binary indexed tree
- Binary search tree
- Deepening depth first search
- Depth limited search
- Dijkstra's algorithm
- Disjoint set
- Huffman encoding
- Inorder traversal
- Interval tree
- Leftist tree
- Kruskal's algorithm
- Merkle tree
- Prim's algorithm
- Segment tree
- Skew heap
- Topological sort
- Trie
- Euclid's algorithm
- Fast exponentiation
- Fermat's primality test
- Kahan summation algorithm
- Karatsuba algorithm
- Linear congruential generator
- Newton's method
- Russian Peasant Multiplication algorithm
- Sieve's primes
- Bubble sort
- Bucket sort
- Counting sort
- Heap sort
- Insertion sort
- Merge sort
- Quick sort
- Radix sort
- Selection sort
- Stack sort
- Constraint programming
- Fibonacci heap
- Join-idle queue
- Minimax
- PageRank
- Q-Learning
- Quadtree
- Spell checker
- Alpha-beta pruning
- Apriori algorithm
- Huffman encoding
- Simulated annealing