This repo contains my solutions to the programming assignments in the Coursera Stanford Algorithms Specialization MOOC.
- Merge sort
- Quick sort
- Quick select
- Binary search
- Karger's mincut
- Breadth first search (graphs)
- simple
- shortest path (finishing times)
- connected components
- Depth first search (graphs)
- simple (recursive/with a stack)
- topological ordering
- strongly connected components
- Dijkstra's algorithm
- Heap data structure
- Median maintenance (two heaps)
- Binary Search tree
- operations/running time
- bfs/dfs
- pre/post/in-order traversal
- level order traversal
- Hashmaps
- Bloom filters
- Prim's algorithm
- Kruskal's algorithm
- Union-find data structure
- Huffman codes
- Bellman ford algorithm
- Floyd warshall algorithm
- Dynamic programming
- knapsack
- Maximum weighted independent set
- traveling sales person
- Sequencing
- Optimum binary search tree
- 2sat