The primary topics in this part of the specialization are: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, optimal search trees).
-Two motivating applications; selected review; introduction to greedy algorithms; a scheduling application; Prim's MST algorithm.
-Kruskal's MST algorithm and applications to clustering; advanced union-find (optional).
-Huffman codes; introduction to dynamic programming.
-Advanced dynamic programming: the knapsack problem, sequence alignment, and optimal binary search trees.