数据结构与算法11:拓扑排序
拓扑排序是指在一个AOV网络(http://baike.baidu.com/view/1475661.htm)中找到一种节点的排序序列,使得序列中的任意一个节点在它的所有前置节点的后面,满足AOV所表示的依赖关系,这样的一个序列就叫拓扑序列。而寻找这样一个序列的过程叫拓扑排序。拓扑排序往往不是唯一的,可能存在多种满足同一个AOV网络的拓扑序列。
一种拓扑排序算法过程大概如下:
1. 寻找到一个图中的入度为0的节点,将节点加入拓扑序列。
2. 将这个节点从图中删除,同时删除所有从该节点出发的弧。
3. 重复1-2,直到图中没有节点。