Using Graphs to Model Problems, Part 2

OCW Scholar

« Previous | Next »

Session Overview


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.

Session Activities

Lecture Videos

About this Video

Topics covered: Dynamic programming, optimal path, overlapping subproblems, weighted edges, specifications, restrictions, efficiency, pseudo-polynomials.


Recitation Videos

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.

Check Yourself

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.



Problem Sets

Problem Set 10: Clustering (Due)

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.

Note: Solutions are not available for this assignment.

Problem Set 11 (Assigned)

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.


« Previous | Next »