- 4
- 0
- 约4.07千字
- 约 22页
- 2020-04-09 发布于湖北
- 举报
EnQueue(Q, v); // v入队列 while ( !QueueEmpty(Q) ) { DeQueue(Q, u); // 队头元素出队为u并准备访问 Visited [u] = true ; Visit (u) ; //访问u for ( w=FirstAdjVex(G, u) ; w!=0; w=NextAdjVex(G,u,w) ) if ( ! visited[w]) { EnQueue(Q, w); // 下一个要访问的顶点w入队列 } // if } // while 算法分析 如果使用邻接表表示图,则循环的总时间代价为 d0 + d1 + … + dn-1 = O(e),其中的 di 是顶点 i 的度。 如果使用邻接矩阵,则对于每一个被访问过的顶点,循环要检测矩阵中的 n 个元素,总的时间代价为O(n2)。 三、遍历算法总结 1. 遍历图的过程实质上是通过边或弧找邻接点的过程,因此DFS和BFS的时间复杂度是相同的。 2. 对于一个图
原创力文档

文档评论(0)