9.1 拓扑排序 图论基础:拓扑排序——理清事物间的先后顺序 在浩瀚的图论世界中,存在着各种各样的图结构和算法。今天,我们将聚焦于一种特殊的排序方式——拓扑排序。它并非像数字大小排序那样简单,而是依据图中节点间的依赖关系,将节点进行线性排列。想象一下,你正在规划一个大型项目,各个任务之间存在着先后依赖关系,拓扑排序就像一位经验丰富的项目经理,帮你理清头绪,安排好任务执行的先后顺序。 9.1.1 什么是拓扑排序? 简单来说,拓扑排序是对有向无环图 (Directed Acyclic Graph, DAG) 的顶点进行排序,使得对每一条有向边 (u, v),顶点 u 在线性序列中都出现在顶点 v 的前面。 换句话说,拓扑排序是尊重依赖关系的排序。