我们为什么要保持树木平衡

时间:2013-06-23 18:44:23

标签: algorithm tree

我看到很多关于平衡树的问题。

例如,R-Tree比KD-Tree更好,因为它们是平衡的。

在非平衡树上使用平衡树有什么好处?

2 个答案:

答案 0 :(得分:9)

搜索此树

O
 \
  O
   \
    O
     \
      O
       \
        O
         \
          O
           \
            O

将花费Θ(N)时间。搜索此树

     O
   /   \
  O     O
 / \   / \
O   O O   O

将采用Θ(logN)时间。由于搜索时间与树的高度成正比。

答案 1 :(得分:2)

确保平均搜索的最小跨度。

如果您的树不平衡,某些搜索将比其他搜索花费更长时间。在最坏的情况下,O(n)。