题目详情
阅读以下说明和代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 图是很多领域中的数据模型,遍历是图的一种基本运算。从图中某顶点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; v<G.vexnum; v++){ if(!visited[v]){ //从顶点v出发进行广度优先遍历 printf("%d”,v); //访问顶点v并将其加入队列 visited[v]=1; (3) ; while(!isEmpty(Q)){ (4) ; //出队列并用u表示出队的元素 for(w=0;v<G.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 请帮忙给出正确答案和分析,谢谢!
题目答案
题目解析⬇️小程序搜题更方便
推荐题目
1302以下关于打开扩展名为 docx 的文件的说法中,不正确的是()。 Windows 系统的一些对话框中有多6273
7825阅读以下说明和代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的程序利用快3838
9275()是描述浮点数运算速度指标的术语。 A.MIPS B.MFLOPS C.CPI D.IPC7639
2850阅读以下说明和 Java 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 设计 RGB 方8119
8325阅读以下代码,回答问题:1至问题3 ,将解答填入答题纸的对应栏内。 【代码1】 include<stdio.h7652
2925CPU中用于暂时存放操作数和中间运算结果的是()。 A. 指令寄存器 B. 数据寄存器 C. 累加器 D. 程3381
5434阅读下列说明和 C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 设计 RGB 方式9751
1415CT可测量肾上腺大小,肾上腺增大的诊断标准是:()A.侧支厚度大于5mm,面积大于150mm2B.侧支厚度5125
547()不属于按照寻址方式命名的存储器。 A. 读写存储器 B. 随机存储器 C. 顺序存储器 D. 直接存储5291
440输尿管结石()A.尿路造影检查,双侧肾盏肾盂普遍受压、拉长、变形和分离,呈“蜘蛛足”状改变B.尿路444
551阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。 【说明】 设有整数数组5643
7439阅读以下说明和 C 函数,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 函数 Combine(L9257
2215During planning you sit down and estimate the time needed for each task and total them to 6881
1212《监理通知回复单》属于由_____提交的文档。A.承建单位B.建设单位C.监理单位D.分包单位1716
4615以下关于监理机构信息沟通的叙述中,______是不正确的。A.是实施总监理工程师领导的基本条件B.是统3900