https://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm
tarjen算法实现scc_ccqq0507的博客-CSDN博客
1. 冲突问题理解
当一个有向图的方向,因从哪个节点先开始而导致不同的有向图结果,即可理解为有向图中存在冲突问题
2. 问题产生过程
一旦构成了强连通,就会产生冲突问题
首先,下图上面的就构成了强连通
具体是因为经过了下图的
就是因为从right有一条指向left的边(代码中定义)导致
下面用真是场景模型问题:
定义角色(ostin,dog)可以移动(实际是导致有向图更新,进行重新构建)以及建筑(center,left,right)
设计目的:通过有向图的一个节点遍历整个有向图,输出稳定的顺序
图中上半部分:构成强连通从而产生问题(不稳定的顺序)过程
图中下半部分:没有构成强连通从而正常(稳定的顺序)的情况