In an undirected graph, a connected component or component is a maximal connected subgraph. Two vertices are in the same connected component if and only if there exists a path between them. In a drawing of a graph, the connected components can each be drawn separately with empty space between them. A nonempty connected graph has one connected component.
In an undirected graph, the existence of a path between two vertices u and v is an equivalence relation, since:
There is a trivial path of length zero from any vertex to itself. (reflexivity)
If there is a path from u to v, it also a path from v to u. (symmetry)
If there is a path from u to v and a path from v to w, we can attach them together to form a path from u to w. (transitivity)
Connected components are useful because often algorithms or theorems can be applied to each connected component individually, taking advantage of it being a connected graph, and combine these solutions to obtain a solution for the entire graph. For example, if we find a minimum spanning tree or a maximum matching for each connected component, their union is a minimum spanning forest or maximum matching for the entire graph.
Many computational problems related to connected components are complete for the complexity classSL, such as:
Are two vertices in the same connected component? Different connected components?
Is a graph connected? Not connected?
Do two graphs have the same number of connected components? Different number of components?
Is the number of connected components even? Is it odd?
Since SL=L, these problems all lie in L and so can be solved with a deterministic machine in O(log n) space.
The connectivity of a graph is an important measure of its robustness as a network.
One of the most important facts about connectivity in graphs is Menger's theorem, which characterizes the connectivity and edge-connectivity of a graph in terms of the number of independent paths between vertices.
In computational complexity theory, SL is the class of problems log-space reducible to the problem of determining whether two vertices in a graph are connected, which was proved to be equal to L by Omer Reingold in 2004.