给定一个有向图G,其中包含n个顶点和e条边,现分别采用邻接表和邻接矩阵来存储该图,以下关于使用BFS算法对G进行遍历的描述,哪一项是准确的?

答案解析

选项A错误,当G为稠密图时,邻接矩阵依然需要扫描所有的元素来检测边是否存在,其效率仍低于邻接表。选项B错误,虽然邻接矩阵的时间复杂度始终为O(n^2),但邻接表的时间复杂度不是始终为O(n+e),在邻接表中需要考虑每个顶点的度,所以应为O(n+e)。选项C错误,稀疏图时,邻接表时间复杂度为O(n+e),并非O(n),稠密图时,邻接表时间复杂度接近O(n^2),而不是两者都为O(n^2)。选项D正确,邻接表存储的BFS通常比邻接矩阵存储的BFS效率高,因为邻接表只访问实际存在的边,而邻接矩阵无论是否存在边都需要扫描,因此,邻接表可以避免无效的扫描操作,尤其是在稀疏图中效率提升显著。
正确答案:D
随机推荐
开始刷题