图_拓扑排序
一个不存在回路的AOV网,可以将其应用在各种各样工程项目的流程图中。例如:让你实现一个画流程图的软件,那你在内存中怎么组织流程图呢??
也就是保证工程项目能够顺利进行
AOV网
在一个表示工程
的有向图中,定点表示活动,弧表示活动之间的优先关系
拓扑排序
其实就是对一个有向图(包含AOV)构造拓扑序列
的过程

算法原理


数据结构中in表示该定点的入度,因为是AOV网,因此从入度为0的点开始
- 找到所有入度为0的顶点(p点),入栈
- 读栈,从图中删除p点,然后把与p相连的弧尾顶点in值减1,判断这些顶点有无入度(in的值)为0者,有则入栈
- 读栈取出一个新的顶点,急需执行步骤2,直到全部顶点操作完毕
例如:下面的图第一次就是找到三个顶点入度为0,全部入栈
