bundles / scipy latest / scipy / sparse / csgraph / _traversal / connected_components
cython_function_or_method
scipy.sparse.csgraph._traversal:connected_components
Signature
def connected_components ( csgraph , directed = True , connection = weak , return_labels = True ) Summary
Analyze the connected components of a sparse graph
Extended Summary
Parameters
csgraph: array_like or sparse array or matrixThe N x N matrix representing the compressed sparse graph. The input csgraph will be converted to csr format for the calculation.
directed: bool, optionalIf True (default), then operate on a directed graph: only move from point i to point j along paths csgraph[i, j]. If False, then find the shortest path on an undirected graph: the algorithm can progress from point i to j along csgraph[i, j] or csgraph[j, i].
connection: str, optional['weak'|'strong']. For directed graphs, the type of connection to use. Nodes i and j are strongly connected if a path exists both from i to j and from j to i. A directed graph is weakly connected if replacing all of its directed edges with undirected edges produces a connected (undirected) graph. If directed == False, this keyword is not referenced.
return_labels: bool, optionalIf True (default), then return the labels for each of the connected components.
Returns
: n_components: intThe number of connected components.
: labels: ndarrayThe length-N array of labels of the connected components.
Examples
from scipy.sparse import csr_array from scipy.sparse.csgraph import connected_components✓
graph = [ [0, 1, 1, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 1], [0, 0, 0, 0, 0] ] graph = csr_array(graph)✓
print(graph)
✗n_components, labels = connected_components(csgraph=graph, directed=False, return_labels=True) n_components labels✓
Aliases
-
scipy.sparse.csgraph.connected_components