算法与数据结构 第六章 图(详解)

这篇具有很好参考价值的文章主要介绍了算法与数据结构 第六章 图(详解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、判断题

二、选择题 


在开始之前,先为大家推荐四篇介绍该章四个主要算法的的文章,供大家参考。

Dijkstra算法求最短路径:Dijkstra算法原理_平凡的L同学的博客-CSDN博客_dijiesitela

Floyd算法求最短路径:Floyd算法求最短路径

Prim算法求最小生成树:Prim算法求最小生成树

Kruskal算法求最小上生成树:Kruskal算法求最小上生成树

一、判断题

1、用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。F

解析:用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关,空间代价为O(n*n);用邻接表法存储图,占用的存储空间数与图中结点个数和边数都有关,有向图为O(n+2e),无向图为O(n+e)。

2、无向连通图所有顶点的度之和为偶数。T

解析:顶点的度为顶点所连接的边的个数,无向连通图中的顶点的度之和为边数*2所以顶点的度之和为偶数。

3、无向图的邻接矩阵可用一维数组存储。T

解析:习惯上无向图的邻接矩阵一般用二维数组存储,这样使用方便。当然,任意二维数组都是可以用一维数组存储的,只是用起来不方便。

4、若图G有环,则G不存在拓扑排序序列。T

解析:拓扑排序对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,存在拓扑排序和图是否有环是充分必要条件。

5、Prim 算法是通过每步添加一条边及其相连的顶点到一棵树,从而逐步生成最小生成树。T

解析:prim算法是通过每步添加一条边及其相连的顶点到一棵树,从而逐步生成最小生成树;

Kruskal 算法是维护一个森林,每一步把两棵树合并成一棵。

6、用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小与图中结点个数有关,而与图的边数无关。T

解析:用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关,空间代价为O(n*n)。

7、在一个有向图中,所有顶点的入度与出度之和等于所有边之和的2倍。T

解析:有一条边就会有两个顶点分别增加一个入度和出度,所以所有顶点的入度与出度之和等于所有边之和的2倍。

8、连通分量指的是有向图中的极大连通子图。F

解析:连通图和连通分量都是针对无向图而言的。在有向图中,任意两个顶点都有一条从1到2和一条从2到1的有向路径,则称该图为强连通图。有向图中的极大连通子图称为该有向图中的强连通分量。

9、在任一有向图中,所有顶点的入度之和等于所有顶点的出度之和。T

解析:在有向图中,一条边必然会对应一个顶点的出和一个顶点的入,所以入度等于出度。

10、从n个顶点的连通图中选取n-1条权值最小的边即可构成最小生成树。F

解析:一个有N个顶点的连通图的生成树有N-1条边,但是含N个顶点N-1条边的图不一定是生成树。且最小生成树的总权最小,不是其中的任意路径最小。

11、对于带权无向图 G = (V, E),M 是 G 的最小生成树,则 M 中任意两点 V1 到 V2 的路径一定是它们之间的最短路径。F

解析:最小生成树的总权最小,不是其中的任意路径最小。

12、如果从有向图 G 的每一点均能通过深度优先搜索遍历到所有其它顶点,那么该图一定不存在拓扑序列。T

解析:如果从有向图 G 的每一点均能通过深度优先搜索遍历到所有其它顶点,则该图是一个有环图;而拓扑排序的前提是有向无环图。

二、选择题 

1、数据结构中Dijkstra算法用来解决哪个问题?

A.字符串匹配

B.拓扑排序

C.最短路径

D.关键路径

解析:

最短路径算法:Dijkstra,Floyd

最小生成树:Prim,Kruskal

字符串匹配:Kmp

拓扑排序:对有向无环图进行

2、给定有权无向图的邻接矩阵如下,其最小生成树的总权重是:

算法与数据结构 第六章 图(详解)

A.11

B.14

C.10

D.12

解析:

算法与数据结构 第六章 图(详解)

算法与数据结构 第六章 图(详解)

3、已知一个图的邻接矩阵如下,则从顶点V1出发按广度优先搜索法进行遍历,可能得到的一种顶点序列为:

算法与数据结构 第六章 图(详解)

A.V1,V2,V3,V5,V4,V6

B.V1,V3,V5,V6,V4,V2

C.V1,V3,V5,V2,V4,V6

D.V1,V2,V4,V5,V6,V3

解析:

算法与数据结构 第六章 图(详解)

4、对于一个具有N个顶点的无向图,要连通所有顶点至少需要多少条边?

A.N

B.N/2

C.N−1

D.N+1

解析:连通是两个顶点之间有路径即连通,N-1条就够了。

5、关于图的邻接矩阵,下列哪个结论是正确的?

A.有向图的邻接矩阵总是不对称的

B.无向图的邻接矩阵可以是不对称的,也可以是对称

C.有向图的邻接矩阵可以是对称的,也可以是不对称的

D.无向图的邻接矩阵总是不对称的

解析:有向图的邻接矩阵可以是不对称的,也可以是对称的;无向图的邻接矩阵一定是对称的。 

6、在用邻接表表示有N个结点E条边的图时,深度优先遍历算法的时间复杂度为:

A.O(N+E)

B.O(N2×E)

C.O(N2)

D.O(N)

解析:深度和广度优先优先遍历的时间复杂度一样,采用邻接表表示法,有向图为O(n+2e),无向图为O(n+e);邻接矩阵法O(n*n)。

7、 给定一个有向图的邻接表如下图,则该图有__个强连通分量。

算法与数据结构 第六章 图(详解)

A.4 {{0, 1, 5}, {2}, {3}, {4}}

B.1 {0, 1, 2, 3, 4, 5}

C.1 {0, 5, 1, 3}

D.3 {{2}, {4}, {0, 1, 3, 5}}

解析:

算法与数据结构 第六章 图(详解)

8、对于有向图,其邻接矩阵表示比邻接表表示更易于:

A.求一个顶点的出边邻接点

B.进行图的广度优先遍历

C.进行图的深度优先遍历

D.求一个顶点的入度

解析:对于邻接矩阵来说,求一个结点的度,只需要访问邻接矩阵的一行或一列就可以判断次结点的度。

9、对下图进行拓扑排序,可以得到不同的拓扑序列的个数是:

算法与数据结构 第六章 图(详解)

A.4

B.3

C.1

D.2

解析:个数是3,分别是abced,abecd,aebcd。先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指向的节点的入度减一。一直做改操作,直到所有的节点都被分离出来。如果最后不存在入度为0的节点,那就说明有环,不存在拓扑排序,也就是很多题目的无解的情况。

算法与数据结构 第六章 图(详解)

10、任何一个带权无向连通图的最小生成树——

A.有可能不唯一

B.有可能不存在

C.是唯一的

D.是不唯一的

解析:最小生成树不一定唯一,但如果边的权值都不相等,则一定唯一。

11、下面给出的有向图中,有__个强连通分量。

算法与数据结构 第六章 图(详解)

A.1 ({1,2,3,4})

B.2 ({1,2,3,4}, {0})

C.1 ({0,1,2,3,4})

D.5 ({0}, {1}, {2}, {3}, {4}) 

解析:其实就是有几个最大的环。

12、下面关于图的存储的叙述中,哪一个是正确的?

A.用相邻矩阵法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关

B.用相邻矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关

C.用邻接表法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关

D.用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关

解析:邻接矩阵只与结点个数有关,与边数无关;而邻接表表示法与结点和边的个数都有关系。 

上面的题目均是博主在期末考试前总结的重难点,欢迎各位大佬指正错误或者给出更优质的解析。文章来源地址https://www.toymoban.com/news/detail-487635.html

到了这里,关于算法与数据结构 第六章 图(详解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据结构 第六章 图——图的遍历

    在前面我们知道,树是一种非线性结构,为了方便它在计算机中的存储,对树进行遍历使它线性化。 而图同样也是一种非线性结构,但是图又是一种不同于树的多对多结构,所以在前面我们将其转换为了多个一对多的结构来描述它的存储结构。 图的遍历同树类似,也是从某

    2024年02月08日
    浏览(44)
  • 王道计算机考研 数据结构C语言复现-第六章-队列

     这篇文章收录了王道考研课程中涉及的数据结构的所有代码。此外,本博客可能会添加一些额外的代码(不仅限于王道考研),因为408考试中会频繁考察一些冷门的知识点,所以这篇博客会涵盖所有相关的代码。这也是我数据结构的第一轮复习,希望能与大家共同进步。由

    2024年01月21日
    浏览(40)
  • 【夜深人静学习数据结构与算法 | 第六篇】贪心算法

    目录 前言: 引入: 贪心算法:     455. 分发饼干 - 力扣(LeetCode) 376. 摆动序列 - 力扣(LeetCode) 53. 最大子数组和 - 力扣(LeetCode) 122. 买卖股票的最佳时机 II - 力扣(LeetCode)         在本文我们将为大家介绍在计算机中比较常见的一种算法:贪心算法。他并没有具体的代

    2024年02月09日
    浏览(47)
  • Python篇——数据结构与算法(第六部分:哈希表)

      目录 1、直接寻址表 2、直接寻址表缺点 3、哈希 4、哈希表 5、解决哈希冲突 6、拉链法 7、常见哈希函数 8、哈希表的实现 8.1迭代器iter()和__iter__ 8.2str()和repr() 8.3代码实现哈希表 8.4哈希表的应用   直接寻址表:key为k的元素放到k的位置上 改进直接寻址表:哈希(

    2024年02月10日
    浏览(42)
  • 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中。。。。。。 第一章高精度计算 1307【例1.3】高精度乘法 1308【例1.5】高精除 1309【例1.6】回文数(Noip1999) 1168大整数加法 1169大整数减法 1170计算2的N次方 1171大整数的因子 1172求10000以内n的阶乘 1173阶乘

    2024年02月16日
    浏览(46)
  • [数据结构 -- 手撕排序算法第六篇] 递归实现快速排序(集霍尔版本,挖坑法,前后指针法为一篇的实现方法,很能打)

    目录 1、常见的排序算法 1.1 交换排序基本思想 2、快速排序的实现方法 2.1 基本思想 3 hoare(霍尔)版本 3.1 实现思路 3.2 思路图解 3.3 为什么实现思路的步骤2、3不能交换 3.4 hoare版本代码实现 3.5 hoare版本代码测试 4、挖坑法 4.1 实现思路 4.2 思路图解 4.3 挖坑法代码实现 4.4 挖坑

    2024年02月16日
    浏览(43)
  • 数据结构与算法——数据结构有哪些,常用数据结构详解

    数据结构是学习数据存储方式的一门学科,那么,数据存储方式有哪几种呢?下面将对数据结构的学习内容做一个简要的总结。 数据结构大致包含以下几种存储结构: 线性表,还可细分为顺序表、链表、栈和队列; 树结构,包括普通树,二叉树,线索二叉树等; 图存储结构

    2024年02月15日
    浏览(60)
  • 【免杀前置课——PE文件结构】十八、数据目录表及其内容详解——数据目录表(导出表、导入表、IAT表、TLS表)详解;如何在程序在被调试之前反击?TLS反调试(附代码)

    数据目录表:可选PE头最后一个成员,就是数据目录.一共有16个 分别是:导出表、导入表、资源表、异常信息表、安全证书表、重定位表、调试信息表、版权所以表、全局指针表 TLS表、加载配置表、绑定导入表、IAT表、延迟导入表、COM信息表 最后一个保留未使用,默认为0。

    2024年01月15日
    浏览(39)
  • 【排序算法】数据结构排序详解

    前言: 今天我们将讲解我们数据结构初阶的最后一部分知识的学习,也是最为“炸裂”的知识---------排序算法的讲解!!!! 排序 :所谓排序,就是使一串记录,按照其中的某个或某些的大小,递增或递减的排列起来的操作。 稳定性 :假定在待排序的记录序列中,

    2023年04月08日
    浏览(48)
  • 数据结构-图搜索算法详解

    图搜索算法是数据结构和算法学科中的一个重要领域,它们用于在图中搜索顶点(节点)和边(连接节点的线)。图可以是有向的(边有方向)或无向的(边没有方向)。图搜索算法主要用于解决如路径查找、网络流分析等问题。下面详细介绍几种常见的图搜索算法。 深度优

    2024年04月28日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包