拓扑序相关
拓扑排序
概念:
- DAG:有向无环图。
拓扑排序可以对一张DAG上的顶点排序。
流程:
- 最初将入度为\(0\)的点加入队列。
- 每次从队列中取出一个点,删去这个点的所有出边,将新产生的入度为\(0\)的点加入队列。这样按入队的先后顺序就把顶点排好序了。
\(O(n+m)\)。
拓扑排序在后的点只依赖于拓扑排序在前面的点。所以在DAG上拓扑排序时可以DP。其实这也是DP的本质:在DAG上求最长/最短路。
拓扑排序可以判断原图中是否有环,是否是一条链。
拓扑排序有时得到的结果并不唯一,要求字典序最大/最小的,把队列换成优先队列即可。
过于简单,不放板子了。
实际应用
拓扑排序在很多算法中都会用到,不再多说。
实际问题中会出现拓扑序这种东西,有很好的性质。以后补。

浙公网安备 33010602011771号