MATLAB图论工具箱—components函数


  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

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值