拓扑排序是有向无环图的一种应用,在实际生活中用的很多。
比如GIS专业的课程设计,许多课程需要前置课程要求,也就是说没上过A课程、则不可能直接去学B课程,画个图表就是:
同理,我们教材中的范例:穿衣服的过程也是一个拓扑排序问题,如下表:
有关这个拓扑排序的模型构造以及解法、我们的教材有着十分详尽的描述,这里不再叙述,我们主要要解决的就是:如何编程:
从教材P194图7.33到图7.34,我们可知该问题的求解过程是:
- 1 寻找入度为0的顶点、标记它们并进栈;
- 2 出栈、然后删除该顶点;
- 3 返回到1、直至栈空。
首