This repository contains solutions to the 16 programming assignments from Stanford University's Algorithms Specialization.
Karatsuba Multiplication
Merge Sort Inversions
Quick Sort Comparisons and the Median of Three optimization.
Random Contraction Minimum-Cut Algorithm
Kosaraju's Two-Pass Strongly Connected Components Algorithm
Dijkstra's Single-Source Shortest Path Algorithm
Two-Heap Median Maintenance
Extended Two-Sum
Max-Weight Independent Sets and Huffman Encoding
Greedy Job Scheduling
Prim’s Minimum Spanning Tree Algorithm
Single-Link Clustering (Kruskal's Minimum Spanning Tree Algorithm)
Floyd-Warshall Transitive Closure / All-Pairs Shortest Path Algorithm
Traveling Salesman Problem (Minimum-Cost Hamiltonian Circuit)
Traveling Salesman Problem + Nearest-Neighbor Heuristic
2-SAT Satisfiability (Kosaraju's Two-Pass Strongly Connected Components Algorithm)
The image in this README can be found here