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. A nonempty connected graph has one connected component. A strongly connected component is a similar concept defined for directed graphs. In an undirected graph, the existence of a path between two vertices u and v is an equivalence relation, since:
The connected components are then the equivalence classes of this relation. The multiplicity of 0 as an eigenvalue of the Laplacian matrix of a graph is equal to the number of connected components in the graph. 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 class SL, such as:
Since SL=L, these problems all lie in L and so can be solved with a deterministic machine in O(log n) space. However, the most practical algorithms for them are randomized algorithms using random walks. See alsoReferences
| |