树木高度的复杂性
Complexity of height of a Tree
考虑代码:
int Tree::height(tree *node) {
if (!node) return -1;
return 1 + max(height(node->left), height(node->right));
}
这种方法的复杂性是什么?O(n)
还是O(log(n))
?
我认为是O(n)
,因为在最坏的情况下,我们会检查所有节点,不是吗?
你能举一个更好实现的例子吗?
感谢
我认为您正在检查所有情况下的所有节点,而不仅仅是最坏的情况。是的,O(N(。
相关文章:
- 具有未知值时的时间复杂性
- 关联容器的下界复杂性:成员函数与非成员函数
- 使用堆查找第K个最大元素的时间复杂性
- 并行标准::复制复杂性
- 特定算法的复杂性与 3 for?
- C++ 字符串类擦除成员函数的时空复杂性
- C++:如何根据地形高度更新玩家身高?
- 如何更改QComboBox项目的高度大小?
- 更改高度贴图,使其在 4x4 网格上显示 16 个 hieghtmap
- 我试图用这段代码找到二叉树的高度,但它一直返回 0,有人可以告诉我为什么吗?
- C++:如何计算二叉树中其值模块高度小于 2 的节点数?
- 递归函数 c++ 的复杂性
- 这个递归函数有什么作用?运行时的复杂性是多少?
- C++ - 对象填充的复杂性
- 提高从排序字符串中获取字母顺序的顺序复杂性
- 如何使用 C++ gdal 库将栅格地理从 EGM96 转换为 WGS84 椭球体高度基准面
- 从具有父指针和左子树和右子树高度的树中删除
- 程序输入名称和高度并显示它。我不知道如何显示列表中最高人的姓名和身高
- 从 long 转换C++位集构造函数的复杂性是多少?
- 树木高度的复杂性