二进制搜索树的运行时间

时间:2014-04-22 06:40:40

标签: algorithm

教科书说分割操作的数量受树高度的限制,即O(logn)。

我不太明白它为什么受到树高的限制?有人可以解释一下吗?

2 个答案:

答案 0 :(得分:0)

当你从根开始,并尽可能向下走到底部时,你可以遇到的最大节点数等于树的高度(这应该很容易看到它和它根据定义,几乎是树的高度。)

现在,当您在二叉搜索树中搜索时,从根开始,并且在每一步,您都会查看当前节点,然后停止,向左或向右移动(向左或向右移动可以是考虑分裂操作)。此过程涉及与上述节点相同数量的节点(从某个路径的根目录开始),这涉及遇到多个节点,因此分割操作,不超过树的高度。

另请注意,如果树是平衡的,树的高度仅为O(log n)(有关详细信息,请参阅this page)。

答案 1 :(得分:0)

最有可能的是,在您所指的教科书中,在具有n个节点的平衡二叉树中,所讨论的数据结构。由于它是平衡的,其高度为log(n)。可以找到收敛高度的详细定义和简要说明here