components matlab,MATLAB图论工具箱—components函数

本文介绍了如何使用components()函数在Python中计算无向图的连通分量,包括计算每个顶点所属的连通分量和分量大小,并特别提到用于强连通分量的算法原理。该算法基于深度优先搜索,适用于稀疏矩阵输入,且在无向图中时间复杂度为O(V+E)。同时,文章强调了算法对零元素的处理方式和一个实例演示。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值