知识大全 图 - 图的遍历 - 广度优先遍历 (二)
Posted 序列
篇首语:高斋晓开卷,独共圣人语。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 图 - 图的遍历 - 广度优先遍历 (二)相关的知识,希望对你有一定的参考价值。
( )邻接矩阵表示的图的广度优先搜索算法
void BFSM(MGraph *G int k)
以v k 为源点对用邻接矩阵表示的图G进行广度优先搜索
int i j;
CirQueue Q;
InitQueue(&Q);
printf( visit vertex %c G >vexs[k]); //访问源点v k
visited[k]=TRUE;
EnQueue(&Q k);
while(!QueueEmpty(&Q))
i=DeQueue(&Q); //v i 出队
for(j= ;j
if(G >edges[i][j]== &&!visited[j])//v i 未访问
printf( visit vertex %c G >vexs[j]);//访问v i
visited[j]=TRUE;
EnQueue(&Q j);//访问过的v i 人队
//endwhile
//BFSM
( ) 广度优先遍历算法
类似于DFSTraverse 【参见DFSTraverse算法】
图的广度优先遍历序列
广度优先遍历图所得的顶点序列 定义为图的广度优先遍历序列 简称BFS序列
( )一个图的BFS序列不是惟一的
( )给定了源点及图的存储结构时 算法BFS和BFSM所给出BFS序列就是惟一的
【例】下图中G 以邻接矩阵为存储结构 以v 为出发点的BFS搜索过程【 参见动画演示 】和BFS序列为V V V V
V V V V
>
【例】上图中G 以邻接表为存储结构 以v 为出发点的BFS搜索过程和BFS序列【 参见动画演示 】
算法分析
对于具有n个顶点和e条边的无向图或有向图 每个顶点均入队一次 广度优先遍历(BFSTraverse)图的时间复杂度和
DFSTraverse算法相同
当图是连通图时 BFSTraverse算法只需调用一次BFS或BFSM即可完成遍历操作 此时BFS和BFSM的时间复杂度分别为O(n+e)和
(n )
cha138/Article/program/sjjg/201311/23833相关参考
图的遍历概念 图的遍历 和树的遍历类似图的遍历也是从某个顶点出发沿着某条搜索路径对图中每个顶点各做一次且仅做一次访问它是许多图的算 法的基础 深度优先遍历和广度优先遍历是最为重要的两种遍历
深度优先遍历的递归算法 ()深度优先遍历算法 typedefenumFALSETRUEBoolean;//FALSE为TRUE为 Booleanvisited[MaxVertexNum];/
深度优先遍历序列 对图进行深度优先遍历时按访问顶点的先后次序得到的顶点序列称为该图的深度优先遍历序列或简称为DFS序列 ()一个图的DFS序列不一定惟一 当从某顶点x出发搜索时若x的邻接点有
希赛教育计算机专业考研专业课辅导招生 希赛教育计算机专业考研专业课辅导视频 希赛教育计算机考研专业课在线测试系统 将顶点v放在上方中央其余顶点按从v到该顶点的最短路径长度分别放在第和层上则图
图的遍历 图的遍历(TraversingGraph)从图中某一顶点出发访遍图中其余顶点且使每一个顶点仅被访问一次 图的遍历有两种方法深度优先搜索和广度优先搜索 深度优先遍历 深度优先遍
希赛教育计算机专业考研专业课辅导招生 希赛教育计算机专业考研专业课辅导视频 希赛教育计算机考研专业课在线测试系统 对演示中非连通图进行深度优先搜索遍历得到顶点的访问序列为 a→c→h→d→
广度优先遍历(BreadthFirstTraversat)从图中某个顶点v出发在访问了v之后依次访问v的各个未曾访问过的邻接点然后分别从这些邻接点出发依
希赛教育计算机专业考研专业课辅导招生 希赛教育计算机专业考研专业课辅导视频 希赛教育计算机考研专业课在线测试系统 看这个广度优先搜索遍历的过程就好比一石激起千重浪访问顶点v就好比将一块大石头
.对有五个结点ABCDE的图的邻接矩阵 ().画出逻辑图 ().画出图的十字链表存储 ().基于邻接矩阵写出图的深度广度优先遍历序列 ().计算图的关键路径【华南师范大学三(分)】 .何
生成树(SpanningTree)从连通图的任何一个顶点出发进行遍历遍历过程中经过的边加上图的所有顶点构成的子图称为图的生成树 深度优先生成树由深度优