图的深度优先搜索的时间复杂度

当用二维数组表示邻接矩阵作图的存储结构时,查找每个顶点的邻接点所需时间为O(n^2),其中n为顶点数.而当以邻接表作图的存储结构时,找邻接点所需时间为O(e),其中e为无... 当用二维数组表示邻接矩阵作图的存储结构时,查找每个顶点的邻接点所需时间为O(n^2),其中n为顶点数. 而当以邻接表作图的存储结构时,找邻接点所需时间为O(e),其中e为无向图中边的数或有向图中弧的数.  由此,当以邻接表作存储结构时,深度优先搜索遍历图的时间复杂度为O(n e). 请问上面这段话是什么意思?   为什么用邻接矩阵表示时,查找每个顶点的邻接点所需时间为O(n^2)?   而当以邻接表作图的存储结构时,找邻接点所需时间为O(e)?且深度优先搜索遍历图的时间复杂度为O(n e)?   谢谢谢谢    展开
 我来答
chiconysun
推荐于2017-11-26 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2599万
展开全部
因为在邻接矩阵上遍历,一般至少需要将矩阵中元素一半给过一下,由于矩阵元素个数为n^2,因此时间复杂度就是O(n^2)
至于在邻接表上遍历时,过程与这个类似,但是邻接表中只是存储了边结点(e条边,无向图也只是2e个结点),加上表头结点为n(也就是顶点个数),因此时间复杂度为O(n+e)
另外,在邻接表中判断某个顶点是否关联,最坏时可能需要将链表中所有结点都遍历完(尤其是有向图中),此时时间复杂度自然就是O(e)了
万山数据
2024-11-14 广告
实时数仓处理是我们北京万山数据科技有限公司数据处理能力的核心之一。它基于先进的流处理技术,能够实时捕获、处理和分析海量数据,确保数据的时效性和准确性。通过构建高效的实时数据管道,我们能够实现数据的即时入库与查询,为业务决策提供强有力的支持。... 点击进入详情页
本回答由万山数据提供
原宇卫香旋
2020-05-08 · TA获得超过3630个赞
知道大有可为答主
回答量:3097
采纳率:25%
帮助的人:387万
展开全部
邻接矩阵表示时,矩阵中元素的数目是n^2。查找每个顶点的邻接点需要访问矩阵中的所有元素。
邻接表作图的存储结构时,用着色法标记图上的点,图初始化所需时间为O(n),每个顶点执行一次DFSTtraverse函数,一个顶点执行DFSTtraverse所需时间与和该顶点相邻的顶点数成正比,所有顶点执行DFSTtraverse函数所需时间的和与e成正比。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式