哈夫曼樹+帶權路徑長度計算


哈夫曼樹(最優二叉樹)

其目的:

找出存放一串字符需要的最少的二進制編碼

構造方法:

1.得到每種字符出現的頻率或者概率,即權值,構成頻率表

2.找出頻率最小的兩個,小的在左邊,大的在右邊,組成二叉樹。父節點為兩者的和(不計入WPL計算),頻率表更新(刪除這兩個數,同時加入兩數的和)

3.重復2.

4.最后標記01,0左1右,每個字符的二進制表示從上到下讀出。

詳細例子:

https://blog.csdn.net/qq_29519041/article/details/81428934

總結:頻率高的字符編碼越短。

帶權路徑長度計算:

權值*深度求和。

比如下面這個樹:

頻率表:3 5 7 8 11 14 23 29

 

 wpl=(3+5)*5+7*4+(8+11+14)*3+(23+29)*2=271


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM