1.选择题

(1)在一个图中,所有顶点的度数之和等于图的边数的(   )倍。

A.1/2            B.1             C.2             D.4

答案:C

(2)在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的(   )倍。

A.1/2            B.1             C.2             D.4

答案:B

解释:有向图所有顶点入度之和等于所有顶点出度之和。

(3)具有n个顶点的有向图最多有(   )条边。

A.n              B.n(n-1)         C.n(n+1)        D.n2

答案:B

解释:有向图的边有方向之分,即为从n个顶点中选取2个顶点有序排列,结果为n(n-1)。

(4)n个顶点的连通图用邻接距阵表示时,该距阵至少有(   )个非零元素。

A.n              B.2(n-1)         C.n/2           D.n2

答案:B

(5)G是一个非连通无向图,共有28条边,则该图至少有(   )个顶点。

A.7              B.8             C.9             D.10

答案:C

解释:8个顶点的无向图最多有8*7/2=28条边,再添加一个点即构成非连通无向图,故至少有9个顶点。

(6)若从无向图的任意一个顶点出发进行一次深度优先搜索可以访问图中所有的顶点,则该图一定是(   )图。

A.非连通         B.连通          C.强连通        D.有向

答案:B

解释:即从该无向图任意一个顶点出发有到各个顶点的路径,所以该无向图是连通图。

(7)下面( )算法适合构造一个稠密图G的最小生成树。

A. Prim算法      B.Kruskal算法   C.Floyd算法     D.Dijkstra算法

答案:A

解释:Prim算法适合构造一个稠密图G的最小生成树,Kruskal算法适合构造一个稀疏图G的最小生成树。

(8)用邻接表表示图进行广度优先遍历时,通常借助(   )来实现算法。

A.栈            B. 队列            C.  树            D.图

答案:B

解释:广度优先遍历通常借助队列来实现算法,深度优先遍历通常借助栈来实现算法。

(9)用邻接表表示图进行深度优先遍历时,通常借助(   )来实现算法。

A.栈            B. 队列            C.  树            D.图

答案:A

解释:广度优先遍历通常借助队列来实现算法,深度优先遍历通常借助栈来实现算法。

(10)深度优先遍历类似于二叉树的(   )。

A.先序遍历      B.中序遍历        C.后序遍历      D.层次遍历

答案:A

(11)广度优先遍历类似于二叉树的(   )。

A.先序遍历      B.中序遍历        C.后序遍历       D.层次遍历

答案:D

(12)图的BFS生成树的树高比DFS生成树的树高(   )。

A.小            B.相等            C.小或相等       D.大或相等

答案:C

解释:对于一些特殊的图,比如只有一个顶点的图,其BFS生成树的树高和DFS生成树的树高相等。一般的图,根据图的BFS生成树和DFS树的算法思想,BFS生成树的树高比DFS生成树的树高小。

(13)已知图的邻接矩阵如图6.30所示,则从顶点v0出发按深度优先遍历的结果是(    )。

   图6.30  邻接矩阵

(14)已知图的邻接表如图6.31所示,则从顶点v0出发按广度优先遍历的结果是(    ),按深度优先遍历的结果是(    )。

图6.31  邻接表

A.0 1 3 2                          B.0 2 3 1                 C.0 3 2 1                         D.0 1 2 3

答案:D、D

(15)下面(   )方法可以判断出一个有向图是否有环。

A.深度优先遍历      B.拓扑排序      C.求最短路径     D.求关键路径

答案:B

2.应用

(1)已知图6.32所示的有向图,请给出:

① 每个顶点的入度和出度;

② 邻接矩阵;

③ 邻接表;

④ 逆邻接表。

答案:

(2)已知如图6.33所示的无向网,请给出:

① 邻接矩阵;

② 邻接表;

③ 最小生成树

答案:

  

(3)已知图的邻接矩阵如图6.34所示。试分别画出自顶点1出发进行遍历所得的深度优先生成树和广度优先生成树。

(4)有向网如图6.35所示,试用迪杰斯特拉算法求出从顶点a到其他各顶点间的最短路径,完成表6.9。

表6.9

D

终点

i=1

i=2

i=3

i=4

i=5

i=6

b

15

(a,b)

15

(a,b)

15

(a,b)

15

(a,b)

15

(a,b)

15

(a,b)

c

2

(a,c)

d

12

(a,d)

12

(a,d)

11

(a,c,f,d)

11

(a,c,f,d)

e

10

(a,c,e)

10

(a,c,e)

f

6

(a,c,f)

g

16

(a,c,f,g)

16

(a,c,f,g)

14

(a,c,f,d,g)

S

终点集

{a,c}

{a,c,f}

{a,c,f,e}

{a,c,f,e,d}

{a,c,f,e,d,g}

{a,c,f,e,d,g,b}

(5)试对图6.36所示的AOE-网:

① 求这个工程最早可能在什么时间结束;

② 求每个活动的最早开始时间和最迟开始时间;

③ 确定哪些活动是关键活动

答案:按拓扑有序的顺序计算各个顶点的最早可能开始时间Ve和最迟允许开始时间Vl。然后再计算各个活动的最早可能开始时间e和最迟允许开始时间l,根据l - e = 0? 来确定关键活动,从而确定关键路径。

此工程最早完成时间为43。关键路径为<1, 3><3, 2><2, 5><5, 6>

数据结构练习题——图(含应用题)相关推荐

  1. 数据结构练习题——图(算法设计题)

    ​ (1)分别以邻接矩阵和邻接表作为存储结构,实现以下图的基本操作: ① 增加一个新顶点v,InsertVex(G, v): ② 删除顶点v及其相关的边,DeleteVex(G, v); ③ 增加一条 ...

  2. 计算机web国二考试题库,全国计算机二级考试练习题库(含答案)

    全国计算机二级考试练习题库(含答案) 21.下列叙述中正确的是 A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 √C) 在栈 ...

  3. 数据结构之图的创建(邻接表)

    数据结构之图的基本概念中了解了图的基本概念,接下来对图的代码实现进行详解. 邻接无向图 1. 邻接表无向图介绍 邻接表无向图是指通过邻接表表示的无向图. 上面的图G1包含了"A,B,C,D, ...

  4. 八十五、Python | Leetcode数据结构之图和动态规划算法系列

    @Author:Runsen @Date:2020/7/7 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  5. (九)数据结构之“图”

    数据结构之"图" 图是什么 图的常用操作 图的深度/广度优先遍历 什么是深度/广度优先遍历 深度优先遍历算法口诀 广度优先遍历算法口诀 LeetCode:65.有效数字 LeetC ...

  6. python深度优先_python数据结构之图深度优先和广度优先实例详解

    本文实例讲述了python数据结构之图深度优先和广度优先用法.分享给大家供大家参考.具体如下: 首先有一个概念:回溯 回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标.但当探索到 ...

  7. 数据结构之图的应用:有向无环图

    数据结构之图的应用:有向无环图 思维导图: 有向无环图:(DAG) 解题方法: 例: 思维导图: 有向无环图:(DAG) 解题方法: 例: PS: 当运算顺序不唯一时,最后的有向无环图也不唯一.

  8. 【恋上数据结构】图基础知识介绍

    图 数据结构回顾 图(Graph) 有向图(Directed Graph) 出度.入度 无向图(Undirected Graph) 混合图(Mixed Graph) 简单图.多重图 无向完全图(Und ...

  9. 【数据结构】图(最短路径Dijkstra算法)的JAVA代码实现

    最短路径的概念 最短路径的问题是比较典型的应用问题.在图中,确定了起始点和终点之后,一般情况下都可以有很多条路径来连接两者.而边或弧的权值最小的那一条路径就称为两点之间的最短路径,路径上的第一个顶点为 ...

  10. 大一新生必看,自学必看,里昂详解数据结构之图

    数据结构之图 有幸掌握浅薄知识,不吝分享,保持独立思考,自主学习,共同进步.另求关注,点赞,评论,感谢!(tips:主页有数据结构全部知识点,以及知识点讲解,建立完善的数据结构知识体) 核心算法思想 ...

最新文章

  1. LinkExtractor
  2. C语言单链表实现19个功能完全详解
  3. 【Python 13】分形树绘制1.0--五角星(turtle库)
  4. android get请求最长字符串,android – Retrofit @GET – 如何显示请求字符串?
  5. DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、GC对比
  6. 2021-2025年中国云计算数据中心IT资产处置(ITAD)行业市场供需与战略研究报告
  7. linux下imp导入oracle数据库,Oracle数据库Linux下的导入IMP
  8. ORA-01940: cannot drop a user that is currently...
  9. vue开发中遇到的问题
  10. 网络广告的发布渠道和方式
  11. JavaScript常用库和API学习文档
  12. spring 使用注解遇到的问题
  13. Web前端业界氛围极好的群——鬼懿IT
  14. 《流媒体服务器》专栏总览丨蓄力计划
  15. 数据链路层(帧)(二)
  16. TortoiseGit小乌龟安装配置及使用
  17. 计算机相关缩略语,计算机缩略语精选
  18. 信息安全工程实践笔记--Day1 信息收集漏洞扫描
  19. 0504|1823. 找出游戏的获胜者
  20. matlab读取JPG文件属性中的GPS信息并生成POS文件

热门文章

  1. 第二次作业 时事点评
  2. 我所使用的五大返利网站使用比较
  3. DNT精英论坛(暨.NET北京俱乐部)第1期:见证.NET,风口上的成功案例!
  4. win7首次使用计算机,首次安装win7系统如何进行硬盘分区
  5. java微信素材编辑_Java微信公众平台开发之素材管理(Spring Boot 2.X)
  6. python微信api_微信公众平台 Python 开发包文档
  7. 盗墓小说和西高穴:真真假假曹操墓
  8. Java 学习 for循环小题目 天朝有一个乞丐姓洪,去天桥要钱第一天要了1块钱第二天要了2块钱第三天要了4块钱第四天要了8块钱以此类推 2n问题: 洪乞丐干10天,收入是多少?
  9. 8月26日计算机视觉理论学习笔记——医疗影像分割
  10. java short 转char_byte,short,char的类型转换