Loading

拓扑排序

一.什么是拓扑排序?

它是一个在有向无环图中对顶点的排序,在此图中,每个顶点都排在所有以它为起点的的相邻节点之前。

2.具体操作步骤:

a.计算所有顶点的入度
b.将所有入度为0的顶点放入队列中。
c.当队列不为空时,从队列中弹出顶点v且将v的左右相邻顶点的入度减1
d.一旦某个顶点的入度为0,将其放入队列中,重复c,d知道完毕。

例子:
对于下图进行拓扑排序分析
在这里插入图片描述
1.首先,我们要知道7,5,3一定在最前面,其次是11,8,最后才是2,9,10

我们要知道7,5,3入队的顺序不同可能会导致排序的结果不同:
我们以7,5,3为例:
在这里插入图片描述
其他情况同理。

posted @ 2020-04-01 10:18  文牧之  阅读(22)  评论(0)    收藏  举报  来源