其他分享
首页 > 其他分享> > 拓扑排序

拓扑排序

作者:互联网

拓扑排序用来解决什么问题

解决相互依赖的条件下的排序问题。
比如:

此时穿衣顺序上就有了两两之间的局部依赖,如:

当然有的人喜欢先穿毛裤再来秋裤(逃)

最终的穿衣顺序可能为:

是的,拓扑排序有可能有多种结果

拓扑排序实现

需要用到的数据结构

如果 a 先于 b 执行,也就是说 b 依赖于 a,那么就在顶点 a 和顶点 b 之间,构建一条从 a 指向 b 的边。而且,这个图不仅要是有向图,还要是一个有向无环图,
也就是不能存在像 a->b->c->a 这样的循环依赖关系。因为图中一旦出现环,拓扑排序就无法工作了。实际上,拓扑排序本身就是基于有向无环图的一个算法。

//TODO

Kahn 算法

DFS 算法

相关题目

1203. 项目管理

标签:外裤,秋裤,--,拓扑,毛裤,排序
来源: https://www.cnblogs.com/miyanyan/p/14268616.html