algorithm - 计算树高提供了左树高和右树高的条件

标签 algorithm

假设我们用 leftheight(u) 和 rightheight(u) 表示节点 u 的左右子树的高度。

现在如果我们有一个常量 c > 0 使得对于树 T 中的所有节点 u,我们有

leftheight(u) ≤ rightheight(u) + c

关于这棵树的高度可以说些什么?是 O(log n) 还是什么?

此外,如果条件已更改为:

leftheight(u)−c ≤ rightheight(u) ≤ leftheight(u) + c

它如何影响树的高度?

最佳答案

要回答问题的第一部分,高度不是 O(log n)。考虑一棵具有 n 节点的树,该树通过以下方式退化为列表;对于每个节点 u,左子树都是空的,每个节点(除了单叶节点)都有一个非空的右子树,如下图所示。

 a
  \
   b
    \
     c

不平等

leftheight(u) ≤ rightheight(u) + c

对于每个常量 c 都成立,但树的高度是 n

关于algorithm - 计算树高提供了左树高和右树高的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30838333/

相关文章:

python - 规范化一个随机无休止的未知系列?

algorithm - Excel 使用什么算法重新计算公式?

最大(最小(匹配))的算法?

sql - 在 SQL (T-SQL) 中做高级逻辑 - 匹配算法

php - PHP求解 bool 变量的算法

java - 有约束的图中两个坐标点之间的最短路径数

algorithm - 计算Prolog程序中两个节点之间的路径数

algorithm - 当目标状态的确切权重未知时,A* 中的启发式算法

arrays - 我们可以使用二分搜索来查找排序数组中最常出现的整数吗?

algorithm - 如何停止进程并开始其他进程而不返回到 Arduino 中的初始进程