构建二叉搜索树时的比较次数

时间:2016-02-04 20:55:22

标签: comparison binary-tree binary-search-tree

我自己学习二叉搜索树。有一个问题是,在最初空的树中插入字母E,A,S,Y,Q,U,E,S,T,I,O和N时,需要进行多少次比较。

我绘制了二叉搜索树,并在插入每个元素时计算了比较次数。

 E 
/ \
A  S
   /\
  Q  Y
 /   /
 E   U
 \   /
  I  S
   \  \
    O  T
    /
    N

我得到了36岁。

这是对的吗?另外,还有另一种方法可以在不必绘制树的情况下知道比较次数吗?

2 个答案:

答案 0 :(得分:0)

比较次数为36次。

您可以得出结论,在BST中插入元素的最大比较次数不会超过树的高度

答案 1 :(得分:0)

对我来说,我得到的比较次数是 48。

本次构建的最大比较次数如下:

1 + 2 + 2 + 3 + 3 + 4 + 4 + 5 + 5 + 6 + 6 + 7 = 48

每个元素插入比较如下:(1 + 节点深度)。因此,如果我将要插入的元素的所有比较相加,构建 BST,我将得到上述 48 的答案。