第8部分图课程.pptVIP

  • 10
  • 0
  • 约2.21万字
  • 约 82页
  • 2016-12-09 发布于江苏
  • 举报
第八章 图 例子: 二、拓扑排序算法 1. 算法步骤 (1) 在AOV网中,选取一个没有前驱的顶点输出; (2) 删除该顶点和所有以它为弧尾的弧; (3) 重复以上两步,直到 AOV网中全部顶点都已输出(得到拓扑有序序列) 或者,图中再无没有前驱的顶点(AOV网中有环) 二、拓扑排序算法 如何实现算法中的(1)和(2)? 对于(1),没有前驱的顶点即入度为0的顶点; 对于(2),删除以它为弧尾的所有弧,即让该顶点的所有直接后继的入度减1。 二、拓扑排序算法 Status toposort(algraph G)//G采用邻接链表存储。若无回路输出拓扑序列 { finddegree(G,indegree ); //对各顶点求入度,indegree[0..vernum-1] INITstack (s); FOR (i=0 ; IG.vexnum; ++I) IF ( ! Indegree[I] ) PUSH(s,i); //所有入度为0的入top栈 count = 0; //对输出顶点计数的变量初值为0 WHILE ( !EMPTY(S) ) { POP(s , i); printf (I,G.vertices[I].data ); ++count ; //输出 ,并记数

文档评论(0)

1亿VIP精品文档

相关文档