簡體   English   中英

如果霍夫曼樹的成本是 2^len,什么是最好的編碼?

[英]What is the best encoding if the cost in Huffman tree is 2^len?

最近遇到一個編碼問題,和哈夫曼樹編碼很像:item出現的越多,得到的code越短。

但區別在於:在霍夫曼編碼中,一種類型的項目的所有成本是length_of_code_for_item * frequencyness ,但在我的要求中,成本是2^length_of_code_for_item * frequencyness

任何現有的編碼算法?

由於武漢冠狀病毒的爆發,中國延長了春節假期。 所以我在業余時間回顧了這個需求。

我找到了一些關於這個問題的論文,並在python中寫了一個注釋(中文但你可以使用谷歌翻譯)和示例代碼

論文是:Parker, Jr D S. Huffman 算法最優性的條件[J]。 SIAM 計算雜志,1980,9(3):470-489。

總之,論文討論了如果父母的權重不是孩子的總和(F(x,y)=x+y)會怎樣。 結論是,如果Function是擬線性的(有一些要求),原始的Huffman算法仍然會產生根權重最低的二叉樹。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM