目录 前言DFSBFS 前言 拓扑排序本质上是对DAG的序列化,并且不改变节点之间的先后顺序。 拓扑排序有两种方式:DFS和BFS。 DFS 这是《算法竞赛入门经典(第2版)》的实现方式,具体可参考相关书籍。 BFS 下面介绍如何用BFS进行拓扑排序。 先将所有度数为0的点加入队列。依次处理队列里面的每一个节点。对于每个节点,将其后继节点入度减1,如果后继节点度数为0,则将其加入队列。队列为空时,结束循环。如果还有未被访问的节点,则说明一定存在环,并且不存在拓扑排序,否则,根据队列的访问顺序输出拓扑序。