试题四(共 15 分)阅读以下说明和代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】 图是很多领域中的数据模型,遍历是图的一种基本运算。从图中某顶点 v出发进行广度优先遍历的过程是:①访问顶点 v;②访问 V 的所有未被访问的邻接顶点 W1 ,W2 ,..,Wk;③依次从这些邻接顶点 W1 ,W2 ,..,Wk 出发,访问其所有未被访问的邻接顶 点;依此类推,直到图中所有访问过的顶点的邻接顶点都得到访问。显然,上述过程可以访问到从顶点 V 出发且有路径可达的所有顶点。对于 从 v 出发不可达的顶点 u,可从顶点 u 出发再次重复以上过程,直到图中所有顶 点都被访问到。例如,对于图 4-1 所示的有向图 G,从 a 出发进行广度优先遍历,访问顶点 的一种顺序为 a、b、c、e、f、d。图 4-1 设图 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=l};代码中用到的队列运算的函数原型如表 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]=l; (3) ; while(!isEmpty(Q)){ (4) ; //出队列并用 u 表示出队的元素 for(v=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从下列的 2 道试题(试题五至试题六)中任选 1 道解答。请在答题纸上的 指定位置处将所选择试题的题号框涂黑。若多涂或者未涂题号框,则对题号最小 的一道试题进行评分。
相似试题
-
问答题
试题六(共 15 分)阅读下列说明和 C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】以下 C++代码实现一个简单的聊天室系统(ChatRoomSystem),多个用户 (User)可以向聊天室(ChatRoom)发送消息,聊天室将消息展示给所有用户。 类图如图 6-1 所表示。 【C++代码】#include<iostream>#include <string> using namespace std; class User {private:string name; public:User(string name){ (1) =name;}~User(){} void setName(string name) {this->name=name; } string getName(){return name;}void sendMessage(string message); }; class ChatRoom { . public:static void showMessage(User* user, string message) { cout<<[<<
-
问答题
试题五(共 15 分)阅读以下说明和 Java 程序,填补代码中的空缺,将解答填入答题纸的对应 栏内。【说明】以下 Java 代码实现一个简单的聊天室系统(ChatRoomSystem),多个用 户(User)可以向聊天室( ChatRoom)发送消息,聊天室将消息展示给所有用户。 类图如图 5-1 所示。 【Java 代码】 class ChatRoom { public static void showMessage(User user, Strmg message) {System.out.println([ + user.getName() + ] : + message);} }classUser{private String name; public String getName() { return name;}public void setName(String name) { this.name = name;}public User(String name) { (1) =name;}public void sendMessage(String messa
-
问答题
试题四(共 15 分)阅读以下说明和代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】 图是很多领域中的数据模型,遍历是图的一种基本运算。从图中某顶点 v出发进行广度优先遍历的过程是:①访问顶点 v;②访问 V 的所有未被访问的邻接顶点 W1 ,W2 ,..,Wk;③依次从这些邻接顶点 W1 ,W2 ,..,Wk 出发,访问其所有未被访问的邻接顶 点;依此类推,直到图中所有访问过的顶点的邻接顶点都得到访问。显然,上述过程可以访问到从顶点 V 出发且有路径可达的所有顶点。对于 从 v 出发不可达的顶点 u,可从顶点 u 出发再次重复以上过程,直到图中所有顶 点都被访问到。例如,对于图 4-1 所示的有向图 G,从 a 出发进行广度优先遍历,访问顶点 的一种顺序为 a、b、c、e、f、d。图 4-1设图 G 采用数组表示法(即用邻接矩阵 arcs 存储),元素 arcs[i][ j]定义如下: 图 4-1 的邻接矩阵如图 4-2 所示,顶点 a~f 对应的编号依次为 0~5.因此,访问顶点 a 的邻接顶点的顺序为 b,c,e。函数 BFSTraverse(Graph G)利用队
-
单选题
阅读以下代码:result = lambda x: x * x print(result(5)) 以上代码输出结果为( )。
-
问答题
试题六(共 15 分)阅读下列说明和 C++代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】以下 C++代码实现一个简单客户关系管理系统(CrM)中通过工厂(Customerfactory)对象来创建客户(Customer)对象的功能。客户分为创建成功的客户(realCustomer)和空客户(NullCustomer)。空客户对象是当不满足特定条件时创建或获取的对象。类间关系如图6-1 所示。【C++代码】#include<iostream>#include<string>using namespace std; class Customer{protected:string name;public:(1) boll isNil()=0;(2) string getName()=0;﹜; class realCustomer (3){public:realCustomer(string name){this->name=name;﹜bool isNil(){ return false;﹜string getName(){ return name;﹜﹜; class Nu
热门题库
- 农产品食品检验员
- (初级)经济师
- 网络与信息安全管理员
- 安全工程师
- 健康管理师
- 导游资格证
- 三支一扶
- 法律职业资格(原司法考试)
- 工业机器人操作员
- 物流服务师
- 岩土工程师
- D压力管道作业
- 初级会计职称
- 药学类
- 电工作业
- 工业机器人运维员
- 石油天然气安全作业
- 园林绿化工
- 安全员
- 煤矿主要负责人
- 税务师
- 二级注册建筑师
- 护理类
- 银行招聘考试
- 医药商品购销员
- 注册会计师
- 成考(高起点)
- 职业道德
- 税务考试题库
- 房地产经纪协理
- 养老护理员
- 制冷工
- 监管人员执法
- 保卫管理员
- 冶金(有色)生产安全作业
- 铣床
- 汽车修理工
- 招标师
- 道路运输
- 餐厅服务员
- 劳务员
- 证劵从业(旧版)
- N厂内专用机动车辆作业
- 中级安全工程师
- (高级)经济师
- 缝纫工
- T电梯作业
- 工程测量员
- 电工
- 架子工
- 钢筋工
- 中药学类
- (中级)经济师
- 主要负责人
- 煤矿类从业人员
- 公共营养师
- 期货从业资格
- 教师招聘
- 房地产经纪人
- 房地产估价师
- 证券投资顾问
- 二级建造师
- BIM工程师
- 演出经纪人
- 消防设施操作员
- 安全管理人员
- 会计从业资格考试
- 标准员
- 轨道交通信号工
- 注册测绘师
- 研究生入学
- 园艺工
- 执业药师
- 质量工程师
- 煤矿特种作业人员
- 土木工程师(水利水电)
- A特种设备安全管理
- 网络安全管理员
- 卫生类
- 材料员
- 基金从业资格
- 新安全生产法
- 综合类
- 高处作业
- 形象设计师
- 中式面点师
- 陕西省-社区专职工作人员招聘
- 社会工作者
- 监理工程师
- (初级)银行从业资格
- 无人机驾驶员
- 植物检疫检验员
- 危险化学品安全作业
- 农业技术员
- F安全阀校验
- 机械员
- 心理咨询师
- 理工类
- 质量员
- 施工员
- (中级)银行从业资格
- 环境影响评价工程师
- 制油工
- 军队文职人员招聘
- 高级会计
- 汽车驾驶员
- 初级管理会计师
- 物业管理师
- 注册结构工程师
- 车工
- 烟花爆竹安全作业
- 事业单位公开招聘
- 保育员
- 医师类
- 设备监理师
- Q起重机械作业
- 茶艺师
- 安全员(三类人员)
- 电子商务师
- 焊工作业
- 装饰美工
- 理财规划师
- 投资项目管理师
- 一级建造师
- 特种设备焊接作业
- 家政服务员
- 煤矿安全管理人员
- 土地登记代理人
- P气瓶作业
- 二级造价工程师
- 卫生招聘考试
- 一级注册建筑师
- 健康管理师
- 公用设备工程师
- 中级会计职称
- 仓库管理员
- 焊工
- 教师资格
- 报检员
- 自考(医学)
- 注册城乡规划师
- 美容师
- 制冷与空调作业
- 计算机及外部设备装配调试员
- 注册环保工程师
- 公安政法干警
- 资产评估师
- G锅炉作业
- 投资银行业务-保荐代表人
- 眼镜验光员
- 中式烹调师
- 国家电网招聘
- 金属非金属矿山安全作业
- 美发师
- R压力容器作业
- 检验类
- 注册消防工程师
- 砌筑工
- 报关员
- 证券分析师
- 高校教师资格证
- 证劵从业(新版)
- 驾考科一、科四
- 企业人力资源管理师
- 软件水平考试
- 审计师
- 成考(专升本)
- 统计师
- 家畜饲养员
- 建筑特殊工种
- 会计从业
- 省公务员-行测
- 一级造价工程师
- 试验检测师(含助理)
- Y大型游乐设施
- 煤矿班组长
- 咨询工程师
- 消防工程师
- 国家公务员
- 动物检疫检验员
- 育婴员
- 主治类
- 注册电气工程师
- 同等学力申硕
- 资料员
- 汽车发动机
- 钳工
- 营养师
- 西式面点师