拓扑序相关

拓扑排序

概念:

  • DAG:有向无环图。

拓扑排序可以对一张DAG上的顶点排序。

流程:

  • 最初将入度为0的点加入队列。
  • 每次从队列中取出一个点,删去这个点的所有出边,将新产生的入度为0的点加入队列。这样按入队的先后顺序就把顶点排好序了。

O(n+m)

拓扑排序在后的点只依赖于拓扑排序在前面的点。所以在DAG上拓扑排序时可以DP。其实这也是DP的本质:在DAG上求最长/最短路。

拓扑排序可以判断原图中是否有环,是否是一条链。

拓扑排序有时得到的结果并不唯一,要求字典序最大/最小的,把队列换成优先队列即可。

过于简单,不放板子了。

实际应用

拓扑排序在很多算法中都会用到,不再多说。

实际问题中会出现拓扑序这种东西,有很好的性质。以后补。

posted @   RandomShuffle  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示