【发布时间】:2015-05-29 17:59:48
【问题描述】:
程序将具有 n 个叶节点的平衡二叉搜索树作为输入,并计算每个节点 x 的函数 g(x) 的值。如果计算 g(x) 的成本是 min{no. x的左子树中的叶节点数,没有。 x 的右子树中的叶子节点的个数} 那么程序的最坏情况时间复杂度是
我的解决方案:
对于每个内部节点,最大成本为 n/2。对于每个叶节点,成本为零。
平衡二叉树的内部节点数为:叶节点 - 1
所以总成本将是:
n/2 * (n-1)
O(n^2)
我说的对吗?
【问题讨论】:
-
也许最好在programmers.stackexchange.com 上回答? “如果您对……算法和数据结构概念有疑问”
-
你认为答案是什么,你为什么这么认为?
-
@hexparrot - 以目前的形式,这个问题对程序员来说会很糟糕。
-
如果删除 A-B-C-D 答案,他会不会突然变得更好,而是问“我如何确定最坏情况的时间复杂度?”
-
@JoranBeasley 我已经添加了我的解决方案
标签: time-complexity binary-search-tree complexity-theory