拓扑序相关
拓扑排序
概念:
- DAG:有向无环图。
拓扑排序可以对一张DAG上的顶点排序。
流程:
- 最初将入度为
的点加入队列。 - 每次从队列中取出一个点,删去这个点的所有出边,将新产生的入度为
的点加入队列。这样按入队的先后顺序就把顶点排好序了。
拓扑排序在后的点只依赖于拓扑排序在前面的点。所以在DAG上拓扑排序时可以DP。其实这也是DP的本质:在DAG上求最长/最短路。
拓扑排序可以判断原图中是否有环,是否是一条链。
拓扑排序有时得到的结果并不唯一,要求字典序最大/最小的,把队列换成优先队列即可。
过于简单,不放板子了。
实际应用
拓扑排序在很多算法中都会用到,不再多说。
实际问题中会出现拓扑序这种东西,有很好的性质。以后补。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异