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

admin2009-02-15  21

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

选项 A、O(n2)
B、O(n)
C、O(n-1)
D、O(n+1)

答案B

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

相关试题推荐
最新回复(0)