拓扑排序

拓扑用于有向图;

v1 ->v2  的路径  则在拓扑排序中v1必定排在vj之前;

拓扑图

拓扑网的特性:先行关系可以传递;

拓扑排序不唯一;

因为如果没有入度(前驱顶点)的节点有好几个时候,

表头节点表:邻接表;


增加了存放各个顶点的入度数组indergree[];

找G中无前驱的顶点,也就是查找indergree[i] 为0 的 顶点Vi;

删除以i 为起点的所有的弧,对连接在i后面的所有邻接顶点K  将其对应的 indegree [k] 减1;  与之连接的入度减一;

为重复检测入度为0 的顶点,设置一个 入度为0  的 , 若是某个顶点的入度减少为0,则入栈,

若是输出某一顶点时,将其从栈中删除。




拓扑排序可以采用两种存储结构加以实现;

1)基于邻接矩阵;

2)基于邻接表;

1)邻接矩阵;


 有回路的就不是拓扑表;

你可能感兴趣的:(拓扑排序)