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.
A bipartition of a graph divides its vertex set into two independent sets, so every edge joins different parts. A graph admitting such a partition of a set is a bipartite graph. The two parts are not generally unique: separate connected components of a graph can have their sides exchanged independently, and isolated vertices can be assigned to either part.
A lattice interaction graph is bipartite if its sites split into two sets such that every interaction bond joins opposite sets. An even nearest-neighbour ring has this property. It permits a two-sublattice Néel state and a bipartite spin rotation; an odd antiferromagnetic ring is frustrated.
A crown graph is a complete bipartite graph with a perfect matching removed. For it has chromatic number two, but greedy coloring in the order uses colors: the matched pair gets the same new color, and every subsequent pair sees all earlier colors.
For a bipartite graph with ordered parts , its biadjacency matrix has rows indexed by and columns indexed by , with entry one for an edge and zero otherwise. It has size by , rather than the square full bipartite adjacency matrix on , which is the block matrix . Its singular values describe the normalized adjacency operator of a bipartite graph after division by .
Equip the function spaces of the two nonempty parts of a bipartite graph with uniform inner products. Its normalized adjacency operator is . In orthonormal coordinate bases, its matrix is , not the unscaled adjacency matrix. For a biregular graph of edge density of a bipartite graph , constant functions give a largest singular value , and the remaining singular values belong to the centered kernel .
A biregular graph is a bipartite graph whose vertices have constant degree on each part separately. The two degree constants can differ. If its parts are and its edge density of a bipartite graph is , the two degrees are and . Thus its adjacency function has constant row and column averages .
For a biregular graph with left vertices of degree and right vertices of degree , let be the indicator vector of a uniformly selected independent set. Use base-two information entropy. Shearer inequality gives . Conditional on , each right vertex with an empty selected neighbourhood is an independent fair binary choice, and the other right vertices are forbidden. Writing gives . For the neighbourhood patterns, assign weight to the zero pattern and weight one to all others. Jensen's inequality implies . Since , the bound follows from . If divides , the disjoint union of copies of the complete bipartite graph attains equality: each component has independent sets.
For a biregular graph of edge density of a bipartite graph , small rectangular discrepancy, a box norm fourth power close to , and a small second singular value of the normalized adjacency operator of a bipartite graph are equivalent notions of quasirandomness, with quantitative bounds independent of the part sizes. Centering the adjacency function removes the constant singular component.
Let be the centered biadjacency matrix of an equal-part biregular graph, and put . For subsets of the two parts, their edge discrepancy is . The Cauchy-Schwarz inequality proves the displayed bound. If the part size is , centering the two indicator vectors improves it to . The centered four-cycle identity for a biregular graph shows that implies for .
For an equal-part biregular graph with part size and degree , let be its biadjacency matrix and , where is the all-ones matrix. The constant row and column sums make annihilate constants on both sides. Since and the two summands have zero products, their squared matrix trace splits as displayed. The bipartite four-cycle density counts the squared matrix trace of divided by .
A half graph has two vertex classes and , with adjacent to exactly when . Its nested vertex neighbourhoods give a useful obstruction to partitions in which every pair is a regular pair of vertex sets.
Partition both sides of a half graph into classes of size at least . A class of size has at most elements with fewer than class elements on one side in the underlying order. If there are and classes, the union of these boundary elements has size at most . Some index is therefore away from both boundaries. The class containing on each side has at least one tenth of its points strictly above and strictly below . Choosing lower points with upper points, or upper points with lower points, yields edge density of a bipartite graph values one and zero. Both cannot be within of the same class-pair edge density of a bipartite graph, so that pair is not a -regular pair of vertex sets.
A graph is bipartite if and only if it contains no odd cycle. One direction follows because every cycle alternates between the two vertex classes. For the converse, in each connected component of a graph choose a root and partition the vertices according to the parity of their graph distance from it. An edge joining equal parities would close an odd cycle, so every edge crosses the partition.
The complete bipartite graph has vertex classes of sizes and and contains all edges between the classes.
If a bipartite graph with class sizes has at least edges, double count pairs consisting of an -set in the first class and a common neighbour in the second. Convexity of binomial coefficients gives some with . When , the quotient is at least . This turns density into a large complete bipartite subgraph.
A star graph is the complete bipartite graph with one centre and leaves. Any pair of its edges meet at the centre.
Articles by others on the same topic
A bipartite graph is a specific type of graph in graph theory that can be divided into two distinct sets of vertices such that no two vertices within the same set are adjacent. In other words, the edges of a bipartite graph only connect vertices from one set to vertices from the other set.

