【问题标题】:Number of comparisons when building a binary search tree构建二叉搜索树时的比较次数
【发布时间】:2021-03-22 15:29:18
【问题描述】:

我正在自学二叉搜索树。有一个问题是,在最初为空的树中插入字母 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 个。

正确吗?另外,有没有另一种方法可以知道比较次数而不必绘制树?

【问题讨论】:

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


    【解决方案1】:

    比较次数为 36。

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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-05
        • 1970-01-01
        • 2010-12-06
        • 2016-11-06
        • 1970-01-01
        • 1970-01-01
        • 2020-04-15
        • 2013-10-24
        相关资源
        最近更新 更多