c语言的标志数组图的遍历,天津商业大学-计算机科学与技术专业-高职升本-课件5...

《天津商业大学-计算机科学与技术专业-高职升本-课件5》由会员分享,可在线阅读,更多相关《天津商业大学-计算机科学与技术专业-高职升本-课件5(37页珍藏版)》请在人人文库网上搜索。

1、综合练习五,一.单选题,1. 在一个有n个顶点的无向图中,有【1】条边的图称为完 全图。如果采用邻接矩阵作为图的存储结构,则具有n个顶点 的有向图需要【2】个存储单元。 【1】A) n B) n-1 C) n(n-1)/2 D) (n+1)/2 【2】A) n B) n2 C) n(n-1)/2 D) n(n+1)/2 C,B,一.单选题,2已知有向无环图G中的弧数为n-1(n为顶点数),初始入度 为0的顶点数为1,则G的不同拓扑序列个数为_________。 A) 1 B) 2 C)n(n-1)! D) 不确定 D,一.单选题,3.下面关于求关键路径的说法不正确的是____。P180,183。

2、 A)求关键路径是以拓扑排序为基础的 B)一个事件的最早开始时间同以该事件为尾的弧的活动最早开始时间相同 C)一个事件的最迟开始时间为以该事件为尾的弧的活动最迟开始时间与该活动的持续时间的差 D)关键活动一定位于关键路径上 C,一.单选题,4.下述关于AOV网和AOE网的说法中正确的是____。 A)AOV网中,顶点表示事件,边表示活动。P181 B)AOE网中,顶点表示事件,边表示活动间的优先关系。183 C)在 AOV网和AOE网中,都不允许存在环。P181 183 D)AOE网允许存在环,而AOV网则不允许存在环。 C,一.单选题,5.具有4个顶点的完全无向图有_____________。

3、_边。 A) 4 B) 8 C) 12 D) 6 D 6. 一个有向无环图简称________ 。P179 A) AOV B) DAG C) DGA D) DFS B,一.单选题,7. 对于一个具有n个顶点和e条边的无向图,如采用邻接表表 示,则表头的大小为 【1】 ;所有邻接表的结点总数为是 【2】 。 【1】 A) n-1 B) n C) n+1 D) n+e 【2】 A) e B) n+e C) 2e D) e/2 B C,一.单选题,8. 由深度优先搜索和广度优先搜索得到的连通图称为深度优 先生成树或广度优先生成树。而生成树可以是________。 P171 A) 有向生成树 B) 无。

4、向生成树 C) 有向生成树或无向生成树 D) 以上三种说法均不对 C,一.单选题,9. 求某一点到其他各点之间的最短路径可以使用_____方法。 A) 弗洛伊德 B) 克鲁斯卡尔 P187 C) 迪杰斯特拉 D) 普里姆 C 10. 在一个有向图中,所有顶点的入度之和等于所有顶点的出 度之和的_____倍。 A) 4 B) 3 C) 1 D) 2 C,二.多选题,1. 邻接矩阵可以用来存储____。 A) 有向图 B) 无向图 C) 带权图 D) 广义表 E) 二叉树 ABC,二.多选题,2. 下面关于图的存储的叙述中,错误的是____。 A) 用邻接表法存储图,占用的空间大小只与图中结点个 。

5、数有关,而与边数无关。P163 B) 用邻接矩阵法存储图,占用的空间大小只与图中结点个 数有关,而与边数无关。 P161 C) 用邻接矩阵法存储图,占用的空间大小只与图中边数 有关,而与结点个数无关。 D) 用邻接表法存储图,占用的空间大小只与图中边数有 关,而与结点个数无关。 ACD,二.多选题,3. 下面关于图的存储的叙述中,错误的是____。 A) 用邻接矩阵法存储图,占用的空间大小只与图中结点 个数有关,而与边数无关 B) 用邻接矩阵法存储图,占用的空间大小只与图中边数 有关,而与结点个数无关 C) 用邻接表法存储图,占用的空间大小只与图中结点个 数有关,而与边数无关 D) 用邻接表法。

6、存储图,占用的空间大小只与图中边数有 关,而与结点个数无关 BCD,二.多选题,4. 求一个连通图的最小生成树可以使用_____方法。P173 A) 弗洛伊德 B) 克鲁斯卡尔 C) 迪杰斯特拉 D) 普里姆 BD 5. 下面是图的存储结构的是_____。P161 A) 数组表示法 B) 邻接表 C) 十字链表 D)邻接多重表 E)孩子兄弟链表 ABCD,三、判断题,1. 有向图的存储结构只能采用邻接表法,无向图的存储结构只 能采用邻接矩阵法。 2.连通图的生成树是该连通图的一个极小连通子图。P159 ,三、判断题,3.对具有n个顶点的连通图进行深度优先遍历,所得的顶点序 列是唯一的。p170。

7、 4. 图中任一个顶点Vi的出度等于其邻接表中第i个表中表结点 的个数。P164 ,三、判断题,5.对于一个具有n个顶点的无向图,若采用邻接矩阵表示,则该 矩阵的大小为2n。 6. 具有n个顶点的连通图的连通分量有n个。P159 ,三、判断题,7. 图状结构的特点是结点间有分支、层次关系,一个结点至 多有一个前趋,但可以有多个后继。 8. 图是由顶点集合及顶点间的关系集合组成的一种数据结 构; ,三、判断题,9.十字链表是有向图的另一种存储结构;可以看成是将有向 图的邻接表和逆邻接表结合起来得到的链表;P164 10. 图的遍历方法中,深度优先搜索适用有向图;广度优先 搜索适用无向图。 ,四、。

8、填空题,1. 根据下列邻接矩阵: 0 1 0 1 0 1 0 1 0 可以看出,该图有【1】_个顶点,如果是有向图,该图有 【2】条狐;如果是无向图,该图有【3】_条边。 3 4 2 2.在连通图的广度优先遍历算法中需要设置一个_______来暂 存_______的结点。170 队列 已访问过,四、填空题,3. 一个有n个顶点的有向强连通图,至少有 _______ 条边。 n 4. 一个有n个顶点的图最少有 个连通分量,最多 有 个连通分量。 p159 1 n 5. 在用于表示有向图的邻接矩阵中,对第i行的元素进行累 加,可得到第i个顶点的 ,而对第j列的元素进 行累加,可得到第j个顶点的 。。

9、 P161 出度 入度,四、填空题,6. 用普里姆算法中求最小生成树,采用邻接矩阵为存储结构 的时间复杂度为_______。P175 O(n2) 7. 在AOV网中,顶点表示_______, _______ 表示它们之间的 优先关系,可以用拓扑排序的方法判断在AOV网中是否存在 _______。P181 活动 弧 回路,六、应用题,1设无向网G的顶点集为V0,V1,V2,V3,V4,V5,该图的邻 接矩阵如下所示,试画出该邻接矩阵对应的无向网,并求其 最小生成树。,六、应用题,1参考答案:,最小生成树,六、应用题,2假定无向图G=(V,E),其中V=A,B,C,D,E,F, E=(A,B),(。

10、A,D),(A,F),(B,C),(B,D),(C,E),(C,F),(E,F) 试从顶点A和C出发,分别写出按深度优先搜索法和广度优先 搜索法进行遍历该图的结点序列(按字母从小到大的顺序搜 索邻接结点)。,六、应用题,2参考答案:字母从小到大 从A出发DFS:A-B-C-E-F-D 从A出发BFS:A-B-D-F-C-E 从C出发DFS:C-B-A-D-F-E 从C出发BFS:C-B-E-F-A-D,六、应用题,3用Prim算法从b顶点开始给出下图的最小生成树,2,六、应用题,4已知一有向图的邻接表存储结构如下图 (1) 根据邻接表写出从顶点V1出发,所得到的深度优先搜索 的顶点序列。 (2。

11、) 根据邻接表写出从顶点V1出发,所得到的广度优先搜索 的顶点序列。 (3) 根据邻接表画出该有向图。,六、应用题,六、应用题,4参考答案: 深度:V1 V3 V4 V5 V2 广度: V1 V3 V2 V4 V5,六、应用题,5已知一无向图如5所示: (1) 写出该图邻接矩阵的存储结构。 (2) 用普里姆算法从顶点V1开始求出该图的最小生成树,并 按照并入最小生成树边的次序填写图 6,并画出其最小生 成树。,六、应用题,5参考答案:(1) 邻接矩阵,六、应用题,5参考答案: (2) 最小生成树,生成边的次序表,六、应用题,6已知下图G所示的有向图,回答以下问题: (1). 该图是强连通图吗?。

12、 (2). 给出顶点V1和V2的入度ID、出度OD和度TD。 (3). 给出其邻接矩阵和邻接表。,六、应用题,6参考答案: (1). 是 (2). ID(V1)=1,OD(V1)=2,TD(V1)=3; ID(V2)=1; OD(V2)=1;TD(V2)=2; (3). 邻接矩阵 和邻接表,7、编程题,1. 用C语言编写连通图的广度优先搜索算法,采用邻接矩阵 为存储结构。在遍历过程中,其中visited为访问顶点的标 志数组,附设队列Q存储已被访问过的顶点。 函数首部为: #define MAX 100 #define MAXQ 100 typedef int visitedMAX /*定义标。

13、志数组*/,7、编程题,typedef struct /*定义队列*/ int data; int front, rear; SqQueue; typedef int matrixMAXMAX; /*定义邻接矩阵*/ void BfsMatrix(matrix GA, int v) 算法分析 :首先输出出发点,并作已访问标记,使其进入 队列。只要队列非空,则出队;然后在与顶点对应的行上 查找其邻接点。如果该邻接点未被访问过,则输出该定点 并让它入队,重复上述步骤,直到队列为空。,编程题参考答案,void BfsMatrix(matrix GA, int v) int QMAX,front=0,rear=0,i,j,k; for(i=0;in;i+) visitedi=0; visitedv=1; printf(v); rear=(rear+1)%MAX; /*开始遍历顶点入队*/ Qrear=v; While(front!=rear) front=(front+1)%MAX; /*顶点出队*/ k=Qfront; for(j=0;jn;j+) /找k行未被访问的顶点*/ if(!visitedj&(GAkj=1) /*访问与队头元素邻接的还未访问的顶点*/ visitedj=1; printf(j); rear=(rear+1)%MAX; Qrear=j;。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值