关于拓扑排序的知识点可以参看http://www.cnblogs.com/newpanderking/archive/2012/10/18/2729552.html及http://blog.csdn.net/midgard/article/details/4101025两篇写的很好,这里做一个粗略的讲解
拓扑排序(topological-sort)是指由某个集合上的一个偏序得到该集合上的一个全序的操作。拓扑排序常用来确定一个依赖关系集中,事物发生的顺序。拓扑排序是对有向无环图的顶点的一种排序,它使得如果存在一条从顶点A到顶点B的路径,那么在排序中B出现在A的后面。
拓扑排序两个条件:
- 有向无环,图中不能有环路,有环路则不能进行拓扑排序。有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说!!!
- 如果存在一条从顶点A到顶点B的路径,那么在排序中B出现在A的后面。