Bipartite graph Created 2026-09-24 Updated 2026-10-14
A bipartite graph separates its vertices into two independent sets: every edge goes from one part to the other. Here is a finite simple graph and an undirected graph, with no self-loops and no repeated edges. The two parts satisfyThus neither part contains an edge. The parts need not have equal sizes, and some pairs across them may have no edge; requiring every cross pair gives a complete bipartite graph. The independent set and cross-edge definitions are equivalent.[ref]
The Basics (author-hosted chapter preview). Section 1.1, printed p. 3, independent vertices; Section 1.6, printed p. 17, bipartite and complete multipartite graphs
For example, the six-vertex cycle graph with edges has parts and . Drawing the same graph as a hexagon or in two columns changes neither its edges nor its bipartite property. An extra isolated vertex can go in either part.
We allow either part to be empty. Consequently a graph with no edges is bipartite, even when ; choose , . Here "two colours" means two colours are available, with no requirement to use both. This convention explicitly includes the empty case, whereas definitions requiring two nonempty classes need an exception. For several connected components of a graph, choose the two parts separately in each graph component and take their unions. In a nonempty connected graph that is bipartite, fixing one vertex's colour forces all others along graph paths, so its two-colour assignment is unique up to swapping the colours. Each graph component, including an isolated vertex, can be swapped independently.
The two-colourability criterion for bipartite graphs identifies these parts with the colour classes of a proper vertex colouring: assign colour to and colour to , so adjacent vertices have different colours. More surprisingly, the odd-cycle characterization of bipartite graphs turns a global requirement into one precise obstruction:This statement is for the finite undirected graph and simple graph model above; a graph cycle has distinct vertices except for the repeated starting vertex. Along a graph cycle in a bipartite graph, colours alternate, so returning to the starting colour takes an even number of edges. Therefore any odd cycle, whether or not other edges join its vertices, prevents a bipartite split.[ref]
The Basics (author-hosted chapter preview). Section 1.6, Proposition 1.6.1 and proof, printed pp. 17–18
Breadth-first search supplies the converse constructively. Start an uncoloured vertex with colour , and use a FIFO queue to explore its graph component. When an edge first discovers , give the opposite colour to , record as its parent in a rooted tree, and enqueue . If both endpoints of any scanned edge already have the same colour, stop with a conflict. Restart from an uncoloured vertex until every graph component has been examined. If no conflict occurs, all edges cross the two colour classes, which are the required independent sets.[ref]
A conflict also explains the failure. In the rooted tree produced by breadth-first search, let be the graph distance from . The colour of is its distance's integer parity. An edge in an undirected graph satisfies , so equal colours force . Follow the two parent chains upward to their lowest common ancestor , discard the shared graph path from to , and join the remaining two graph paths with the conflict edge . The result is a genuine graph cycle withedges, an odd integer. The two branches have no shared vertices except , so this is more than a closed walk. This odd cycle is a certificate that anyone can check directly, using only its listed vertices and edges.
In the example, breadth-first search from gives , , and . The conflict edge closes the odd cycle , with five edges. The common edge is excluded. Thus the same procedure returns either two independent sets covering , or an explicit odd cycle. With adjacency lists and constant-time FIFO queue operations, its time complexity is in Big O notation, with additional storage.[ref]
The two parts often have a practical meaning: workers and jobs, with an edge exactly when a worker can perform a job. A matching in a graph chooses compatible worker–job pairs with no reused endpoint; merely being bipartite does not guarantee enough compatible pairs. Hall's marriage theorem characterizes when every worker can be matched, and the assignment problem adds costs to seek an optimal assignment. These connections make the bipartite structure useful after recognition, as the starting point for selecting edges under constraints.
Connected graph Created 2026-09-24 Updated 2026-09-24
Edge contraction Created 2026-10-05 Updated 2026-10-14
An edge contraction merges the two endpoints of an existing edge. For a finite simple graph and , replace by a new vertex . Retain every edge with neither endpoint in , and join to every member ofHere and denote the original open graph neighbourhoods, and is the new graph neighbourhood. Remove the self-loop arising from and merge duplicate edges, so the result is again a simple graph. This is not deletion of , which keeps both original vertices.[ref]
Edge contraction of a four-cycle and a triangle in a graph: common neighbours determine the lost edge count
. Details. The left example contracts in the cycle graph to give . Its endpoints have no common neighbours, so four edges become three. The right example contracts in the triangle in a graph with edges . Its endpoints have the single common neighbour , so the two edges become one edge : three edges become one.
For any such edge contraction, the exact counts areThe contracted edge accounts for one loss. Each common neighbour contributes exactly one further loss, since become a single edge . All other edges correspond one-to-one to surviving edges. In particular the new degree of a vertex isThese formulas depend on simplifying to a simple graph; a multigraph convention that retains duplicate edges has different counts. In the six-vertex branch set of a graph minor diagram, contracting loses one edge, contracting the resulting loses two because of its common neighbour , and contracting loses one. Hence its seven edges become the three edges of : .
An edge contraction can increase a degree of a vertex even while decreasing both total counts. For example, contracting in the tree with edges merges two vertices of degree of a vertex three into one of degree of a vertex four. This is the mechanism behind the distinction between a graph minor and a topological minor.
Graph Created 2026-09-24 Updated 2026-10-14
A graph describes objects, called vertices, and pairwise connections, called edges. Its vertex set tells us what the objects are; records their connections. The basic abstraction retains graph adjacency while discarding positions, angles and Euclidean distances: moving the dots in a drawing changes none of the edges. A crossing of two drawn lines is not an extra vertex unless explicitly designated as one. Even the labels can change: a graph isomorphism is a relabelling that preserves graph adjacency in both directions.[ref]
This makes graphs useful when the question concerns possible connections rather than physical shape. For example, model locations by vertices and direct links by edges; a graph path answers whether one location can reach another. Alternatively, let vertices be activities and edges represent conflicts: a graph coloring then assigns compatible time slots. These are mathematical models, so one must decide which pairwise relationship an edge means before applying graph theory.[ref]
Our running simple graph haswhere abbreviates the unordered pair . It consists of two triangles in a graph, and , joined by . The two drawings above have identical graph adjacency, even though their apparent lengths differ. What counts is that and are adjacent, whereas and are not.
Route questions require precise vocabulary. A walk is a sequence of consecutive adjacent vertices, permitting repetitions; its length counts traversed edges. A trail is a walk that repeats no edge; a graph path repeats no vertex. For a multigraph, the walk must also specify which parallel edge each step uses. For instance, is a length-five walk but not a trail, since it uses twice. The length-three graph path is a shortest route: crossing between the two triangles in a graph requires , with at least one edge before it and one after it. Thus in graph distance, regardless of the drawing.[ref]
https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer-science-spring-2024/mit6_1200j_s24_lec13.pdf. MIT, Connectivity and Trees, Section 1
An Eulerian trail uses every edge exactly once, allowing repeated vertices; a Hamiltonian path visits every vertex exactly once, without needing every edge. Here is an Eulerian trail of length seven, whereas is a Hamiltonian path of length five. The first repeats ; the second omits . Calling an Eulerian trail an "Eulerian path" must not be taken to impose our graph path convention.[ref]
https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer-science-spring-2024/mit6_1200j_s24_lec13.pdf. MIT, Connectivity and Trees, Section 3
The classic historical example is Euler's Königsberg bridge problem: represent the four land regions by vertices and the seven bridges by distinct edges, giving a multigraph. Their degrees of vertices are . In a trail using every edge, arrivals and departures pair at every internal vertex, so at most the two endpoints can have odd vertex degree. Four odd degrees of vertices therefore rule out such a route. This early foundational example of graph theory needs neither bridge lengths nor a geographical map. Euler's paper is conventionally associated with 1736, the volume's nominal year; the Euler Archive records its writing in 1735 and publication in 1741.[ref][ref]
https://la.wikisource.org/wiki/Solutio_problematis_ad_geometriam_situs_pertinentis. Euler, original Latin text and edition details
Graph minor Created 2026-10-05 Updated 2026-10-14
A graph minor compresses connected regions of a graph into single vertices while retaining selected connections between them. For finite simple graphs, means that some sequence of deleting vertices, deleting edges, and performing edge contractions produces up to graph isomorphism. Deleting a vertex also deletes all its incident edges; deleting an edge leaves its endpoints. The edge contraction convention here removes resulting self-loops and duplicate edges.[ref]
For an exact small example, let be the cycle graph with vertices and edges . Contract to a new vertex . The surviving edges are , giving the complete graph . Thus , although has no triangle in a graph as a subgraph. The branch sets of a graph minor are , with the original edges witnessing all three required adjacencies. The first panel of the edge contraction diagram shows this operation.
A subgraph uses existing vertices and edges; a topological minor permits a graph subdivision of the target as a subgraph, so target edges become graph paths with mutually disjoint interiors and no target vertex in an interior. An ordinary graph minor permits whole connected branch sets of a graph minor in place of target vertices. Every topological minor is a graph minor, by contracting the replacement graph paths.[ref]
The converse fails. Take the tree with edges . Contracting gives the star graph . Yet the original tree has maximum degree three, whereas every graph subdivision of retains a centre of degree of a vertex four. Hence is a graph minor but not a topological minor of this tree. The difference is that a connected branch set of a graph minor may gather connections incident to several original vertices.
The counts of vertices and edges never increase under these operations. However, the example shows that being a bipartite graph is not preserved: its graph minor contains an odd cycle. Its chromatic number also increases from two to three. A connected graph stays connected under an edge contraction, because the image of each graph path still connects its endpoints, but deletion can disconnect it. Thus one must check the particular graph property before treating it as preserved by taking graph minors.
Being a planar graph is preserved: in a crossing-free drawing, shrink a contracted edge and bring its incident edges into the merged vertex; deletion merely removes parts of the drawing. This makes a nonplanar graph minor a certificate that the original graph is nonplanar. More strongly, for a finite simple graph, being a planar graph is equivalent to having neither the complete graph nor the complete bipartite graph as a graph minor. Finding the corresponding branch sets of a graph minor settles nonplanarity even when no literal or subgraph is present. The converse is a substantial theorem, rather than a consequence of preservation alone.[ref]
Graph subdivision Created 2026-09-29 Updated 2026-10-14
A graph subdivision replaces each edge of a simple graph by a graph path of at least one edge joining its original endpoints. The original vertices are branch vertices of a graph subdivision. The replacement graph paths have pairwise disjoint interiors, contain no branch vertices of a graph subdivision internally, and together make up the entire new graph. Leaving an edge unchanged is allowed.[ref]
The Basics (author-hosted chapter preview). §1.7, printed p. 18: subdivision, branch vertices and subdividing vertices
For an explicit example, take with vertex set and edges : a triangle in a graph with one attached leaf of a graph. Replace its edges by the following branch paths of a graph subdivision:The resulting graph subdivision has vertex set and edges . The internal vertex sets are , so disjointness is explicit. The degrees of vertices of remain , respectively; the three new internal vertices each have degree of a vertex two.
A graph subdivision of a triangle in a graph with an attached leaf of a graph: colours track the four branch paths of a graph subdivision
. Details. Adding internal vertices to a finite graph increases both its vertex count and its edge count by . Here , so four vertices and four edges become seven of each; the graph excess is unchanged. Each replacement graph path remains a route between the same junctions. Thus graph subdivision preserves whether a graph is a planar graph: insert intermediate vertices along a crossing-free drawing, or trace each replacement graph path as one edge to recover a drawing of the original graph. Travel times or capacities are separate modelling choices and are not determined by this adjacency construction.
Topological minor 2026-10-14
A topological minor records a network pattern whose vertices remain individual junctions but whose edges may become longer routes. For finite simple graphs, means that contains a subgraph that is a graph subdivision of up to graph isomorphism. Equivalently, choose distinct branch vertices of a graph subdivision for and a graph path from to for every . These are internally vertex-disjoint paths, and no internal vertex of any is a branch vertex of a graph subdivision. Only endpoints corresponding to a shared target vertex may be shared.[ref]
The Basics (author-hosted chapter preview). §1.7, printed p. 18: subdivisions; printed p. 21: topological-minor embeddings
The graph subdivision example below replaces two edges of a triangle in a graph by routes of two and three edges while retaining its attached leaf of a graph. If the host graph also contains an extra edge , the same routes still witness a topological minor: delete when selecting the subgraph. An induced subgraph is not required. However, routes that merely connect the right pairs are insufficient: using a branch vertex of a graph subdivision as an intermediate junction, or making two routes share an internal vertex, can change the local network structure.
Every topological minor is a graph minor. In each branch path of a graph subdivision, contract all but one edge; the disjoint interiors let this shorten each route without merging distinct branch vertices of a graph subdivision. This recovers after deleting unused vertices and edges.[ref] The converse fails because an ordinary branch set of a graph minor can gather several junctions into one.
For the tree with vertices and edges , contracting produces a star graph : the branch sets of a graph minor are . Both have degree of a vertex three; each of the other four vertices is a leaf of a graph with degree of a vertex one. The new centre has four distinct graph neighbours ; its degree of a vertex is , in agreement with the edge contraction formula.
A graph minor can combine two junctions: contracting creates a star graph with a centre of degree of a vertex four
. Details. Yet is not a topological minor of . In a graph subdivision of , four branch paths of a graph subdivision must leave the centre through four different edges; sharing their first internal vertex would violate internal disjointness. Thus any host needs a vertex of degree of a vertex at least four, whereas . More generally, implies , where is the maximum degree of a graph. This bound concerns the host graph; extra unused edges may make its branch vertices of a graph subdivision have larger degrees of vertices than their target counterparts.
This distinction matters when a network's individual junctions have a limited number of connections: replacing a connection by a route preserves the number of routes meeting at each chosen junction, while contracting a connected region can combine connections from separate junctions. It also explains why a small nonplanar pattern can hide inside long routes. By Kuratowski's theorem, a finite simple graph is a planar graph exactly when it has neither the complete graph nor the complete bipartite graph as a topological minor. The obstruction is a graph subdivision inside the network, regardless of the number of intermediate vertices.





