
![]() |
This lecture returns to graph theory. It defines and gives examples of some classic graph problems: shortest path, shortest weighted path, cliques, and min-cut. It then shows how memoization can be used to speed up some algorithms. Centers for Disease Control and Prevention. This image is in the public domain. |
Lecture 22: Using Graphs to Model Problems, Part 2
About this Video
Topics covered: Dynamic programming, optimal path, overlapping subproblems, weighted edges, specifications, restrictions, efficiency, pseudo-polynomials.
Resources
Recitation 9: Directed and Undirected Node Graphs
About this Video
Topics covered: Node graphs, nodes, edges, directed and undirected graphs, weighted edges, depth-first search, breadth-first search, graph cycles, children of nodes, shortest path, lambda functions.
What is memoization?
› View/hide answer
Memoization involves saving work that we've done to a table, so that in the future, we can look it up rather than recalculating.
Why is memoization important?
› View/hide answer
It helps us avoid redoing work that we have already done, thereby making programs more efficient. It is the key idea behind the programming techniques known as dynamic programming.
Every decade, the United States Census takes place. The census collects a lot of information from the population around the United States. In this problem set, we are going to use k-means clustering to analyze this information.
Problem set 11 is assigned in this session. The instructions and solutions can be found on the session page where it is due, Lecture 24 Avoiding Statistical Fallacies.