摘要: 拓扑排序-维基百科用以下的简单算法得到一个DAG的拓扑排序,而且,所有的拓扑排序都可以通过这个算法得到。设需要进行拓扑排序的图为G,已经完成拓扑排序的顶点构成序列q。开始时,置图G1=G,q为空序列;如果图G1是空图,则拓扑排序完成,算法结束,得到的序列q就是图G的一个拓扑排序;在图G1中找到一个没有入边(即入度为0)的顶点v,将v放到序列q的最后(这样的顶点v必定存在,否则图G1必定有圈;因为图G有圈,故不是DAG);从图G1中删去顶点v以及所有与顶点v相连的边e(通过将与v邻接的所有顶点的入度减1来实现),得到新的图G1,转到第二步。以上摘自维基百科以此题为例,用邻接表存储图有N个比赛队( 阅读全文
posted @ 2011-08-30 15:13 SubmarineX 阅读(341) 评论(0) 推荐(0) 编辑