Algorithms Spring 2021: Detailed schedule and links

This schedule may be slightly adjusted as the semester progresses in order to reflect what actually happens in class.

Week 1: Introduction and warmup (bubble sort, insertion sort, selection sort). Asymptotic analysis basics.

Week 2: Asymptotic notation and summations.

Week 3: Mergesort and recurrences. Week 4: Heapsort and Quicksort. Week 5: Sorting lower bound. Linear time sorting. Selection. Week 6: Problems. Week 7: Divide-and-conquer.

Spring break!!

Week 8: Dynamic programming

Week 9: More DP examples. Greedy algorithms. Week 10: Problems. Week 11: Graphs: Basics. BFS and DFS. Topological sort. Week 12: Shortest paths (shortest paths on DAGs; Dijkstra; Bellman-Ford). Week 13: Minimum spanning tree (Prim and Kruskal) Week 14: Final review.