【问题标题】:Creating an optimal binary search tree, same as creating a huffman tree?创建最佳二叉搜索树,与创建霍夫曼树一样吗?
【发布时间】:2012-11-27 22:18:06
【问题描述】:

很快就在这里学习期末考试,我想知道创建一个最优二叉搜索树是否与在给定符号和频率的情况下创建一个霍夫曼树相同。

用键 K1

p1 = .1  p2 = .2   p3 = .3  p4 = .1   
q0 = .15 q1 = .05  q2 = 0   q3 = .1

所以在这里我们将配对最低的两个概率并创建一个概率 = n1 + n2 的内部节点,然后配对下一个最低的两个概率,等等?

【问题讨论】:

    标签: algorithm data-structures binary-search-tree


    【解决方案1】:

    它们实际上是两个不同的问题。霍夫曼树生成不需要保留密钥顺序,而 BST 生成则需要。此外,霍夫曼树生成需要额外的节点来“加入”其他节点,而 BST 中并非如此(您将节点与已经存在的节点连接起来)。

    对于“最佳”BST 生成,您希望最小化所有节点深度的加权和(权重是节点的频率)。在这种情况下,p3 应该是 p2 和 p4 的父级,而 p2 应该是 p1 的父级。这会生成一个“加权和”:

    Node Probability Depth Product Parent
    K1   .1          2     .2      K2
    K2   .2          1     .2      K3
    K3   .3          0     0       None (root)
    K4   .1          1     .1      K3
                           .5 (total, smaller than all other configurations)
    

    不清楚q0q3 的含义,但如果这些也是所需 BST 中的节点,您仍会尝试针对深度的加权和进行优化。

    【讨论】:

    • 这是直接来自评论的问题,不确定 q0-3 是什么。我认为它们是更多可能的节点。所以我想让树下每条路径的权重最低。 K1 的乘积不应该是 .3 吗?它经过 .2 然后 p1 是 .1 所以 .1 + .2 = .3?
    • 本网站上的第三部分可能会更好地解释 Q 的内容。 lankewicz.sewanee.edu/lankewicz/cs320/class23.html
    猜你喜欢
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多