拓扑排序

是对图(有向无环图)中的顶点按照某种先后顺序进行遍历。

拓扑排序的实现:

用一个数组ind[1000],来表示指向第i个节点的边数,

从ind[i]为0的带你开始遍历,删除该节点连接其他节点的边,且其他节点的ind值-1,

该节点结束后,找到下一个ind为0的节点重复上述过程。

整个遍历过程中,节点的遍历顺序为图拓扑排序的顺序。

例子:

P4017 最大食物链计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

P1807 最长路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

posted on 2021-11-10 23:02  naiji  阅读(40)  评论(0)    收藏  举报