网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
在实现图的广度优先遍历时要用到队列,在遍历过程中,图的每个顶点最多进队()次。
参考答案
更多 “在实现图的广度优先遍历时要用到队列,在遍历过程中,图的每个顶点最多进队()次。” 相关考题
考题
阅读以下说明和代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 图是很多领域中的数据模型,遍历是图的一种基本运算。从图中某顶点v出发进行广度优先遍历的过程是: ①访问顶点v; ②访问V的所有未被访问的邻接顶点W1 ,W2 ,..,Wk; ③依次从这些邻接顶点W1 ,W2 ,..,Wk出发,访问其所有未被访问的邻接顶点;依此类推,直到图中所有访问过的顶点的邻接顶点都得到访问。 显然,上述过程可以访问到从顶点V出发且有路径可达的所有顶点。对于从v出发不可达的顶点u,可从顶点u出发再次重复以上过程,直到图中所有顶点都被访问到。 例如,对于图4-1所示的有向图G,从a出发进行广度优先遍历,访问顶点的一种顺序为a、b、c、e、f、d。设图G采用数组表示法(即用邻接矩阵arcs存储),元素arcs[i][j]定义如下:图4-1的邻接矩阵如图4-2所示,顶点a~f对应的编号依次为0~5.因此,访问顶点a的邻接顶点的顺序为b,c,e。 函数BFSTraverse(Graph G)利用队列实现图G的广度优先遍历。 相关的符号和类型定义如下: define MaxN 50 /*图中最多顶点数*/ typedef int AdjMatrix[MaxN][MaxN]; typedef struct{ int vexnum, edgenum; /*图中实际顶点数和边(弧)数*/ AdjMatrix arcs; /*邻接矩阵*/ )Graph; typedef int QElemType; enum {ERROR=0;OK=1}; 代码中用到的队列运算的函数原型如表4-1所述,队列类型名为QUEUE。 表4-1 实现队列运算的函数原型及说明【代码】 int BFSTraverse(Graph G) {//对图G进行广度优先遍历,图采用邻接矩阵存储 unsigned char*visited; //visited[]用于存储图G中各顶点的访问标志,0表示未访问 int v, w, u; QUEUEQ Q; ∥申请存储顶点访问标志的空间,成功时将所申请空间初始化为0 visited=(char*)calloc(G.vexnum, sizeof(char)); If( (1) ) retum ERROR; (2) ; //初始化Q为空队列 for( v=0; vG.vexnum; v++){ if(!visited[v]){ //从顶点v出发进行广度优先遍历 printf(%d,v); //访问顶点v并将其加入队列 visited[v]=1; (3) ; while(!isEmpty(Q)){ (4) ; //出队列并用u表示出队的元素 for(w=0;vG.vexnum; w++){ if(G.arcs[u][w]!=0 (5) ){ //w是u的邻接顶点且未访问过 printf(%d, w); //访问顶点w visited[w]=1; EnQueue(Q, w); } } } } free(visited); return OK; )//BFSTraverse
考题
下面关于图的遍历说法不正确的是()。A.遍历图的过程实质上是对每个顶点查找其邻接点的过程
B.深度优先搜索和广度优先搜索对无向图和有向图都适用
C.深度优先搜索和广度优先搜索对顶点访问的顺序不同,它们的时间复杂度也不相同
D.深度优先搜索是一个递归的过程,广度优先搜索的过程中需附设队列
考题
下列说法中不正确的是()。A.图的遍历过程中每一顶点仅被访问一次
B.遍历图的基本方法有深度优先搜索和广度优先搜索两种
C.图的深度优先搜索的方法不适用于有向图
D.图的深度优先搜索是一个递归过程
考题
以下关于图的遍历的叙述中,正确的是(61)A.图的遍历是从给定的源点出发对每一个顶点仅访问一次的过程
B.图的深度优先遍历方法不适用于无向图
C.使用队列对图进行广度优先遍历
D.图中有回路时则无法进行遍历
考题
下列关于图遍历的说法不正确的是()。A、连通图的深度优先搜索是一个递归过程B、图的广度优先搜索中邻接点的寻找具有“先进先出”的特征C、非连通图不能用深度优先搜索法D、图的遍历要求每一顶点仅被访问一次
考题
下列有关图遍历的说法中不正确的是()A、连通图的深度优先搜索是一个递归过程B、图的广度优先搜索中邻接点的寻找具有“先进先出”的特征C、非连通图不能用深度优先搜索法D、图的遍历要求每一顶点仅被访问一次
考题
多选题以下说法中正确的是A连通图的广度优先搜索中一般要采用队列来暂存刚访问过的顶点B图的深度优先搜索中一般要采用栈来暂存刚访问过的顶点C有向图的遍历不可采用广度优先搜索方法D无向图中的极大连通子图称为连通分量
考题
单选题下列有关图遍历的说法中不正确的是()A
连通图的深度优先搜索是一个递归过程B
图的广度优先搜索中邻接点的寻找具有“先进先出”的特征C
非连通图不能用深度优先搜索法D
图的遍历要求每一顶点仅被访问一次
考题
填空题在实现图的广度优先遍历时要用到队列,在遍历过程中,图的每个顶点最多进队()次。
热门标签
最新试卷