图和树的BFS和DFS的时空复杂性

问题描述

我知道BFS和DFS的时间复杂度为O(V + E)。

但是,当涉及到树木时,时间复杂度为O(V)。我试图理解的方式是,对于一棵二叉树来说,有V-1条边。因此,复杂度变为O(V + V-1)= O(2V-1),在去除常数之后,其复杂度变为O(V)。是这样吗?

另外,关于空间复杂度,我得到的部分是,对于一棵树,对于BFS,它是O(w),其中w是树的最大宽度。另外,对于DFS,它是O(h),其中h是树的最大高度。

我想了解的部分是关于随机图的,如何计算空间复杂度。是否在两种情况下都被视为O(V),在最坏的情况下,队列/堆栈可以具有所有顶点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...