如果霍夫曼树的代价为2 ^ len,则最佳编码是什么?

问题描述 投票:0回答:1

我最近遇到了编码问题,它与Huffman Tree Encoding非常相似:项目显示的越多,我们得到的代码越短。

但是不同之处在于:在霍夫曼编码中,一种类型的商品的所有成本为length_of_code_for_item *频繁度,但在我的需求中,成本为2 ^ length_of_code_for_item *频繁度

任何现有的编码算法?

algorithm huffman-code
1个回答
0
投票

由于武汉爆发冠状病毒,中国延长了春节假期。因此,我在业余时间回顾了这一需求。

[我找到了一些有关此问题的论文,并在python中编写了note(中文,但您可以使用google translation)和sample code

[论文是:Parker,Jr DS。霍夫曼算法的最优性条件[J]。 SIAM计算学报,1980,9(3):470-489。

简而言之,本文讨论了如果父母的权重不是孩子的总和(F(x,y)= x + y)会怎样?得出结论,如果函数为准线性(有某些要求),则原始的霍夫曼算法仍将生成具有最低根权重的二叉树。

就我而言,我们需要定义F(x,y)=2(x+y),一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.