
Tarjan的强连通分量算法(MATLAB实现)
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本简介介绍并实现了Robert Tarjan提出的求解有向图强连通分量的经典算法。通过MATLAB编程语言,该算法被有效应用,便于理解和进一步研究复杂网络中的连通性问题。
实现用于查找有向图的强连通分量(SCC)的Tarjan算法。在强连通分量中,每个节点到其他任意节点都存在路径,并且这些SCC是不相交的。入度或出度为零或者属于无环图中的单个顶点会形成自己的SCC。
接受邻接矩阵作为输入。为了获得最佳性能,请使用稀疏矩阵形式。该算法还会返回一个索引列表,报告每个节点所属的强连通分量成员资格。
示例:
```matlab
E = sparse([2 3 4 5 5 6 6 7 8 4 9 5 10 6 9], [1 2 2 3 4 3 5 ...
6,4,8,8,9,9,10,6],[ones(1,15)]);
G = spy(E);
c = tarjan(E)
```
输出结果为:
```matlab
c =
[1x4 double] [1x2 double] [7] [3] [2] [1]
```
例如,`c{1}`的结果是 `[5 6 9 10]`。
在示例中,E是有向图的邻接矩阵(如截图所示),索引为5、6、9和特定节点。
全部评论 (0)
还没有任何评论哟~


