软考中级

● 具有n个顶点、e条边的图采用邻接表存储结构,进行深度优先遍历和广度优先遍历运算的时间复杂度均为 (63) 。

题目

● 具有n个顶点、e条边的图采用邻接表存储结构,进行深度优先遍历和广度优先遍历运算的时间复杂度均为 (63) 。

参考答案和解析
正确答案:D
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.O(n)

B.O(e)

C.O(n+e)

D.O(n×e)


D

第2题:

4、下列关于一个有 n 个顶点 e条边的图的表述中,正确的是()。

A.其深度优先遍历必须采用最大递归深度为n的递归算法。

B.采用邻接矩阵表示时,其广度优先遍历算法的时间复杂度与 e 无关。

C.其广度优先遍历和深度优先遍历算法的空间复杂度均为 O(n)。

D.其广度优先生成树的树高可能大于其深度优先生成树的树高。

E.图的遍历是从给定的源点出发对每一个顶点仅访问一次的过程。

F.图的深度优先遍历方法不适用于无向图。

G.使用队列对图进行广度优先遍历

H.图中有回路时则无法进行遍历


BCG

第3题:

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


A

第4题:

对于具有n个顶点、6条边的图()。

A.采用邻接矩阵表示图时,查找所有顶点的邻接顶点的时间复杂度为O(n2)
B.进行广度优先遍历运算所消耗的时间与采用哪一种存储结构无关
C.采用邻接表表示图时,查找所有顶点的邻接顶点的时间复杂度为O(n*e)
D.进行深度优先遍历运算所消耗的时间与采用哪一种存储结构无关

答案:A
解析:

第5题:

具有n个顶点e条边的无向图,若用邻接矩阵作为存储结构,则深度优先或广度优先搜索遍历的时间复杂度为(48);若用邻接表作为存储结构,则深度优先或广度优先搜索遍历时的时间复杂度为(49);深度优先或广度优先搜索遍历的空间复杂度为(50)。

A.O(n2)

B.O(n)

C.O(n-1)

D.O(n+1)


正确答案:A

第6题:

具有n个顶点、e条边的图采用邻接表存储结构,进行深度优先遍历和广度优先遍历运算的时间复杂度均为(63)。

A.O(n2)

B.O(e2)

C.O(n*e)

D.O(n+e)


正确答案:D
解析:本题考查数据结构基础知识。深度优先和广度优先遍历图的过程实质上是对某个顶点查找其邻接点的过程,其耗费的时间取决于所采用的存储结构。当图用邻接矩阵表示时,查找所有顶点的邻接点所需时间为O(n2)。若以邻接表作为图的存储结构,则需要O(e)的时间复杂度查找所有顶点的邻接点。因此,当以邻接表作为存储结构时,深度优先搜索遍历图的时间复杂度为 O(n+e)。

第7题:

邻接矩阵和邻接表是图(网)的两种基本存储结构,对于具有n个顶点、e条边的图,( )。

A.进行深度优先遍历运算所消耗的时间与采用哪一种存储结构无关

B.进行广度优先遍历运算所消耗的时间与采用哪一种存储结构无关

C.采用邻接表表示图时,查找所有顶点的邻接顶点的时间复杂度为O(n*c)

D.采用邻接矩阵表示图时,查找所有顶点的邻接顶点的时间复杂度为o(n2)


正确答案:D
解析:具有n个顶点的有向图可以用一个n*n的方形矩阵表示。假设该矩阵的名称为M,则当<vi,vj>是该有向图中的一条弧时,M[i,j]=1;否则M[i,j]=O。第i个顶点的出度为矩阵中第i行中“1”的个数;人度为第i列中“l”的个数,并且有向图弧的条数等于矩阵中“1”的个数。

第8题:

● 邻接矩阵和邻接表是图(网)的两种基本存储结构,对于具有 n个顶点、e条边的图, (59) 。

(59)A. 进行深度优先遍历运算所消耗的时间与采用哪一种存储结构无关

B. 进行广度优先遍历运算所消耗的时间与采用哪一种存储结构无关

C. 采用邻接表表示图时,查找所有顶点的邻接顶点的时间复杂度为O(n*e)

D. 采用邻接矩阵表示图时,查找所有顶点的邻接顶点的时间复杂度为O(n2)


正确答案:D
解析:具有n个顶点的有向图可以用一个n*n的方形矩阵表示。假设该矩阵的名称为M,则当<vi,vj>是该有向图中的一条弧时,M[i,j]=1;否则M[i,j]=O。第i个顶点的出度为矩阵中第i行中“1”的个数;人度为第i列中“l”的个数,并且有向图弧的条数等于矩阵中“1”的个数。

 

第9题:

●具有n个顶点e条边的无向图,若用邻接矩阵作为存储结构,则深度优先或广度优先搜索遍历的时间复杂度为 (48) ;若用邻接表作为存储结构,则深度优先或广度优先搜索遍历时的时间复杂度为 (49) ;深度优先或广度优先搜索遍历的空间复杂度为 (50) 。

(48) ,(50) A.O(n2)

B.O(n)

C.O(n-1)

D.O(n+1)

(49) A.O(e)

B.O(e-1)

C.O(e2)

D.O(e+10)


正确答案:A,A,B
【解析】不论是深度优先还是广度优先搜索遍历,图中n个顶点都必须被访问一次。从某个顶点出发,要搜索到其他顶点,必须沿着图中的边去找。用邻接矩阵做图的存储结构时,这些边是分布在一个n阶方阵中,要检测出这些边,必须对矩阵中n2个元素进行检测,因此,其时间复杂度为O(n2)。若用邻接表作为存储结构,只需对代表e条无向边的2e个边表结点进行检测,其时间复杂度为O(e)。深度优先搜索遍历需要用一个栈来保存本身已被访问但可能还有邻接顶点未被访问的那些顶点的序号,每个顶点都要进栈一次,故 n个顶点需要开辟n个元素的栈(若用递归算法则由系统开辟)。广度优先搜索遍历需要用一个队列来保存顶点的序号,每个顶点都要进队一次,故队列长度为n,所以深度优先或广度优先搜索遍历的空间复杂度为O(n)。