Glossary
Every defined term in this course, A–Z.
Bellman-Ford algorithm
Read the section →Finds shortest paths from one vertex to all others even when some edge weights are negative, by relaxing every edge repeatedly.
BFS shortest paths
Read the section →In a graph where every edge counts the same, BFS from a vertex finds the shortest path to every other vertex for free.
bipartite matching as a flow problem
Read the section →Finding the largest possible pairing between two groups can be solved by turning it into a flow network and finding the maximum flow.
breadth-first search and depth-first search
Read the section →Two systematic ways to visit every vertex of a graph reachable from a start vertex: BFS fans out level by level, DFS plunges as deep as possible before backing up.
Brooks' theorem
Read the section →Except for complete graphs and odd cycles, every connected graph can be properly colored with no more colors than its largest degree.
center of a graph
Read the section →The set of vertices whose eccentricity equals the graph's radius -- the most centrally located vertices.
chromatic number and maximum degree
Read the section →chi(G) counts the fewest colors needed to properly color a graph; Delta is the largest degree any single vertex has.
complement of a graph
Read the section →The graph on the same vertices where every non-edge of the original becomes an edge, and every edge disappears.
complete bipartite graph
Read the section →A graph split into two groups of sizes r and s, with every vertex in one group joined to every vertex in the other and no edges within a group.
complete graph
Read the section →A graph on n vertices where every pair of distinct vertices is joined by an edge.
cut property
Read the section →For any way of splitting a tree's vertices into two groups, there is exactly one tree edge crossing between them.
cycle graph
Read the section →A graph on n vertices arranged in a single closed loop, each vertex adjacent to exactly two neighbors.
Dijkstra's algorithm
Read the section →Finds the shortest route from one starting vertex to every other vertex in a graph with non-negative edge weights, always settling the closest unvisited vertex next.
Dirac's theorem and Ore's theorem
Read the section →Two sufficient (not necessary) degree conditions that guarantee a graph is Hamiltonian: Dirac's checks every vertex's own degree, Ore's checks the degree sum of every non-adjacent pair.
distance
Read the section →The length of the shortest path between two vertices, counted by number of edges.
dual graph
Read the section →A second graph built from a planar drawing's faces -- one vertex per face, one edge per crossing of an original edge -- that swaps the roles of vertices and faces.
eccentricity, diameter, and radius
Read the section →How far a vertex sits from its farthest neighbor (eccentricity), and the biggest and smallest such distances across the whole graph (diameter, radius).
equivalent characterizations of a tree
Read the section →Several different properties -- connected and acyclic, exactly n-1 edges and connected, exactly one path between any two vertices -- that all pick out the same class of graphs: trees.
Euler's formula (planar graphs)
Read the section →For any connected planar drawing, vertices minus edges plus faces always equals 2.
Euler's theorem (Eulerian graphs)
Read the section →A connected graph has an Euler circuit exactly when every vertex has an even number of edges touching it.
Eulerian graph
Read the section →A graph that has a closed walk using every edge exactly once.
flow network
Read the section →A directed graph where each edge has a capacity limit, plus a source and a sink, used to model how much can move through the network at once.
Floyd-Warshall algorithm
Read the section →Computes the shortest distance between every pair of vertices at once, by considering each vertex in turn as a possible shortcut.
four-color theorem and five-color theorem
Read the section →Every flat map needs at most four colors so no two touching regions match, and (unlike the famously computer-verified four-color proof) the weaker five-color version has a proof anyone can check by hand.
graph Laplacian
Read the section →A matrix built from a graph's degree and adjacency matrices whose eigenvalues reveal connectivity properties an adjacency matrix alone can miss.
graph representations
Read the section →Three different ways to store the same graph in a computer: a list of each vertex's neighbors, a matrix of who's adjacent to whom, or a matrix of which vertex touches which edge.
graph spectrum
Read the section →The list of eigenvalues of a graph's adjacency matrix, which turns out to encode a surprising amount of the graph's structure.
greedy coloring
Read the section →Coloring vertices one at a time in some order, always giving each vertex the lowest-numbered color none of its already-colored neighbors is using.
Hamiltonian graph
Read the section →A graph that has a cycle visiting every vertex exactly once.
hypercube graph
Read the section →The graph of a k-dimensional cube: one vertex per length-k binary string, with an edge between any two strings differing in exactly one position.
Kruskal's algorithm
Read the section →Builds a minimum spanning tree by adding the cheapest edges first, skipping any that would create a cycle.
Kuratowski's theorem
Read the section →A graph is planar exactly when it doesn't secretly contain a stretched-out copy of the two smallest non-planar graphs, K5 and K3,3.
König's bipartiteness theorem
Read the section →A graph can be properly 2-colored exactly when it has no odd-length cycle.
max-flow min-cut theorem
Read the section →The most flow that can possibly get from source to sink always equals the capacity of the tightest bottleneck separating them.
Menger's theorem
Read the section →The maximum number of vertex-disjoint routes between two points equals the fewest vertices needed to block every route between them.
NP-complete graph problems
Read the section →Graph problems (like finding a Hamiltonian cycle) for which no efficient algorithm is known, and which are provably as hard as any problem whose answer can at least be checked quickly.
path graph
Read the section →A graph on n vertices in a single line, each internal vertex adjacent to exactly two neighbors and the two ends adjacent to just one.
planar graph
Read the section →A graph that can be drawn on a flat page with no two edges crossing.
Prim's algorithm
Read the section →Builds a minimum spanning tree by growing a single connected piece outward, always adding the cheapest edge leaving it.
Ramsey numbers
Read the section →The smallest party size that guarantees either a group of mutual friends or a group of mutual strangers of a given size, no matter how the friendships are arranged.
strongly connected components
Read the section →The largest groups of vertices in a directed graph where every vertex can reach every other vertex in the same group by following directed edges.
topological sorting
Read the section →Lining up the vertices of a directed acyclic graph so every edge points from an earlier vertex to a later one.
union-find (disjoint-set) structure
Read the section →A data structure that tracks which items belong to the same group, and can quickly check whether two items are already in the same group or merge two groups together.
vertex connectivity and edge connectivity
Read the section →The fewest vertices (or edges) that have to be removed to disconnect a graph -- a numeric measure of how resilient it is.
vertex set and edge set
Read the section →The two building blocks of a graph G, written V(G) for its vertices and E(G) for its edges.
wheel graph
Read the section →A cycle of n vertices plus one more vertex in the middle connected to all of them, like spokes on a wheel.