A bipartite graph is a graph whose vertex set can be divided into two disjoint sets and , such that every edge connects a vertex in to one in , with no edges within the same set.

A matching in a bipartite graph is subgraph whereby no two edges share a common vertex. The cardinality of any matching is .

A maximum-cardinality matching is a matching that results in the largest cardinality (i.e. set size) of the matched edges .

A perfect matching is a matching that covers every vertex of . That is, and (each edge connects two vertices).