components Compute the connected components of a graph.
components()函数计算一个图(矩阵)的连通分量
[ci sizes] = components(A) 返回矩阵的顶点分别属于哪一个连通分量的索引(Ci),以及每一个连通分量的大小(size),
连通分量的个数即为max(components(A)),The algorithm used computes the strongly connected components of A, which are the connected
components of A if A is undirected (i.e. symmetric)。(这个算法用来计算A的强连通分量,如果A是无向图的话(即A是对称矩阵)(这个地方不知道是什么意思)
这个方法用在有向图中
时间复杂度为O(V+E),方法仅仅是深度优先搜索。
note:
1、这个方法忽略矩阵中的非零元素(即如果元素为零则视为没有边连接两个对应顶点)。
2、其中参数A必须为稀疏矩阵
Example:
A0=[0 1 0 0;1 0 1 0;0 1 0 0;0 0 0 0]; >> A0 A0 = 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 >> [c d]=components(sparse(A0)) c = 1 1 1 2 d = 3 1