This repository contains homeworks I created and curated as Head TA for CS 3511, an undergraduate honors class on Algorithms at Georgia Tech, during Spring 2018.
If you're an instructor or a TA of an algorithms class, feel free to use them for your classes! I only ask that you don't create a public repository of your solutions to these homeworks, in order to make this repository an effective teaching resource. If you'd like to know the solutions to any of the problems, please contact me.
Homework 1: Time-complexity, Master Theorem, proof techniques, basic modular arithmetic
Homework 2: Sorting, divide-and-conquer on one or more arrays
Homework 3: Divide-and-conquer on finite and infinite sequences and graphs
Homework 4: Depth and breadth-first search for shortest paths, paths with constraints, connected components
Homework 5: Strong connectivity, search with memoization on graphs, Bellman-Ford
Homework 6: Minimum spanning tree, greedy and dynamic programming on sequences
Homework 7: Greedy and dynamic programming on graphs, max-flow min-cut theorem, intro to LP-duality
Homework 8: Proving NP-completeness using reduction