美文网首页
数据结构错题收录(十)

数据结构错题收录(十)

作者: 程序员丶星霖 | 来源:发表于2022-11-24 09:01 被阅读0次

1、下列关于广度优先算法的说法中,正确的是()。

Ⅰ.当各边的权值相等时,广度优先算法可以解决单源最短路径问题 Ⅱ.当个边的权值不等时,广度优先算法可用来解决单源最短路径问题 Ⅲ.广度优先遍历算法类似于树中的后序遍历算法 Ⅳ.实现图的广度优先算法时,使用的数据结构是队列

  • • A:Ⅰ、Ⅳ
  • • B:Ⅱ、Ⅲ、Ⅳ
  • • C:Ⅱ、Ⅳ
  • • D:Ⅰ、Ⅲ、Ⅳ

解析

广度优先搜索以起始结点为中心,一层一层地向外层扩展遍历图的顶点,因此无法考虑到边权值,只适合求边权值相等的图的单源最短路径。广度优先搜索相当于树的层序遍历,Ⅲ错误。广度优先搜索需要用到队列,深度优先搜索需要用到栈,Ⅳ正确。

答案:A

2、对一个有n个顶点、e条边的图采用邻接表表示时,进行DFS遍历的时间复杂度为(),空间复杂度为();进行BFS遍历的时间复杂度为(),空间复杂度为()。

  • • A:O(n)
  • • B:O(e)
  • • C:O(n+e)
  • • D:O(1)

解析

深度优先遍历时,每个顶点表结点和每个边表结点均查找一次,每个顶点递归调用一次,需要借助一个递归工作栈; 广度优先遍历时,也是每个顶点表结点和每个边表结点均查找一次,每个顶点进入队列一次。 所以都是选C,A。

答案:C、A、C、A

3、对一个有n个顶点、e条边的图采用邻接矩阵表示时,进行DFS遍历的时间复杂度为(),进行BFS遍历的时间复杂度为()。

  • • A:O(n^2)
  • • B:O(e)
  • • C:O(n+e)
  • • D:O(e^2)

解析

采用邻接矩阵表示时,查找一个顶点所有出边的时间复杂度为O(n),共有n个顶点,故时间复杂度均为O(n^2)。

答案:A、A

4、如下图所示,在下面的5个序列中,符合深度优先遍历的序列个数是()

在这里插入图片描述

<figcaption style="text-align: center; line-height: 1.75; color: rgb(136, 136, 136); font-size: 0.8em;">在这里插入图片描述</figcaption>

    1. aebfdc
    1. acfdeb
    1. aedfcb
    1. aefdbc
    1. aecfdb
  • • A:5
  • • B:4
  • • C:3
  • • D:2

解析

仅1和4正确。 以2为例,遍历到c之后,与c邻接且未被访问的结点为空集,所以应为a的邻接点b或e入栈。 以3为例,因为遍历要按栈退回,所以是先b后c,而不能先c后b。

答案:D

5、用邻接表存储的图的深度优先遍历算法类似于树的(),而其广度优先遍历算法类似于树的()。

  • • A:中序遍历
  • • B:先序遍历
  • • C:后序遍历
  • • D:按层次遍历

解析

图的深度优先搜索类似于树的先根遍历,即先访问结点,再递归向外层结点遍历,都采用回溯算法。 图的广度优先搜索类似于树的层序遍历,即一层一层向外层扩展遍历,都需要采用队列来辅助算法的实现。

答案:B、D

6、一个有向图G的邻接表存储如下图所示,从顶点1出发,对图G调用深度优先遍历所得顶点序列是();按广度优先遍历所得顶点序列是()。

在这里插入图片描述

<figcaption style="text-align: center; line-height: 1.75; color: rgb(136, 136, 136); font-size: 0.8em;">在这里插入图片描述</figcaption>

  • • A:125436
  • • B:124536
  • • C:124563
  • • D:362514

解析

DFS(深度优先遍历)序列产生的路径为<1,2>,<2,5>,<5,4>,<3,6>; BFS(广度优先遍历)序列产生的路径为<1,2>,<1,4>,<2,5>,<3,6>。

答案:A、B

7、使用DFS算法递归地遍历一个无环有向图,并在退出递归时输出相应顶点,这样得到的顶点序列是()。

  • • A:逆拓扑有序
  • • B:拓扑有序
  • • C:无序的
  • • D:都不是

解析

对一个有向图做深度优先遍历,并未专门判断有向图是否有环(有向回路)存在,无论图中是否有环,都得到一个顶点序列。若无环,在退出递归过程中输出的应是逆拓扑有序序列。 对有向无环图利用深度优先搜索进行拓扑排序的例子如下:如下图所示,退出DFS(深度优先遍历)栈的顺序为efgdcahb,此图的一个拓扑序列为bhacdgfe。该方法的每一步均是先输出当前无后继的结点,即对每个结点v,先递归地求出v的每个后继的拓扑序列。对于一个AOV()网,按此方法输出的序列是一个逆拓扑序列。 在这里插入图片描述

<figcaption style="text-align: center; line-height: 1.75; color: rgb(136, 136, 136); font-size: 0.8em;">在这里插入图片描述</figcaption>

答案:A

8、设无向图G=(V,E)和G'=(V',E'),若G'是G的生成树,则下列说法中错误的是()。

  • • A:G'为G的子图
  • • B:G'为G的连通分量
  • • C:G'为G的极小连通子图且V=V'
  • • D:G'是G的一个无环子图

解析

连通分量是无向图的极大连通子图,其中极大的含义是将依附于连通分量中顶点的所有边都加上,所以连通分量中可能存在回路,这样就不是生成树了。

注意:极大连通子图是无向图(不一定连通)的连通分量,极小连通子图是连通无向图的生成树。极小和极大是在满足连通的前提下,针对边的数目而言的。极大连通子图包含连通分量的全部边;极小连通子图(生成树)包含连通图的全部顶点,且使其连通的边数最少。

答案:B

9、对有n个顶点、e条边且使用邻接表存储的有向图进行广度优先遍历,其算法的时间复杂度是()。

  • • A:O(n)
  • • B:O(e)
  • • C:O(n+e)
  • • D:O(ne)

解析

广度优先遍历需要借助队列实现。采用邻接表存储方式对图进行广度优先遍历时,每个顶点均需入队一次(顶点表遍历),故时间复杂度为O(n),在搜索所有顶点的邻接点的过程中,每条边至少访问一次(出边表遍历),所以时间复杂度为O(e),算法总的时间复杂度为O(n+e)。

答案:C

10、平均查找速度而言,下列几种查找速度从慢至快的关系是____。

  • • A:顺序 折半 哈希 分块
  • • B:顺序 分块 折半 哈希
  • • C:分块 折半 哈希 顺序
  • • D:顺序 哈希 分块 折半

解析

顺序查找的时间复杂度为O(n) 分块查找的时间复杂度为O(log_{2}n)到O(n)之间 二分查找的时间复杂度为O(log_{2}n) 哈希查找的时间复杂度为O(1)

答案:B

学海无涯苦作舟

相关文章

  • 数据结构错题收录(十)

    1、下列关于广度优先算法的说法中,正确的是()。 Ⅰ.当各边的权值相等时,广度优先算法可以解决单源最短路径问题 Ⅱ...

  • 数据结构错题收录(四)

    1、已知表头元素为c的单链表在内存中的存储状态如下表所示。现将f存放于1014H处并插入单链表,若f在逻辑上位于a...

  • 数据结构错题收录(五)

    1、若用数组A[0...5]来实现循环队列,且当前rear和front的值分别为1和5,当从队列中删除一个元素,再...

  • 数据结构错题收录(六)

    1、设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为()。 A:h B:2h-1 ...

  • 数据结构错题收录(七)

    1、在二叉树中有两个结点m和n,若m是n的祖先,则使用()可以找到从m到n的路径。 A:先序遍历 B:中序遍历 C...

  • 数据结构错题收录(八)

    1、已知一棵有2011个结点的树,其叶结点个数为116,该树对应的二叉树中无右孩子的结点个数是()。 A:115 ...

  • 数据结构错题收录(三)

    1、求出下列算法的时间复杂度。 解析 基本语句k=k+10*i宫执行了n-2次,所以T(n)=O(n)。 2、求出...

  • 数据结构错题收录(一)

    1、以下属于逻辑结构的是() A:顺序表 B:哈希表 C:有序表 D:单链表 解析 顺序表、哈希表和单链表是三种不...

  • 数据结构错题收录(二)

    1、下列函数的时间复杂度是____。 A:O() B:O() C:O(n) D:O() 解析 “sum+=++i;...

  • 数据结构错题收录(十三)

    1、已知带权连通无向图G=(V,E),其中V={,,,,,,},E={(,)10,(,)2,(,)2,(,)11,...

网友评论

      本文标题:数据结构错题收录(十)

      本文链接:https://www.haomeiwen.com/subject/ivqzxdtx.html