我目前正在做一个项目,我需要在图表中找到有多少强连接组件(SCC),之后,我需要检查是否有任何边缘从任何SCC转到另一个SCC 。
我正在使用Tarjan的算法,我已经可以从给定的图形中获取所有SCC,但我无法计算下一部分。
我有两个想法:
我唯一的限制是:
如果同一个SCC有多个连接,我只需要显示一次;
当我显示连接时,我需要始终显示属于SCC的最小顶点id,无论是传出的SCC还是传入的SCC。
一个小例子:
输入边缘从x到y
1 2; 2 3; 3 1; 2 4; 4 5; 5 4;
这是一个image of the above graph,其中1 = A,2 = B等等......
我的问题是:我该如何计算?我似乎想出的每一个选项,似乎都是耗费时间和资源。
感谢所有帮助:)