哈夫曼編碼(貪心算法)


1.哈夫曼編碼

  根據字符在文件中出現的頻率,用二進制串表示各字符的最佳編碼方式

2.基本思想

1)所有字符均作為葉子節點放入一個樹集合T

2)字符的使用頻率作為權值

3)貪心策略:每次從樹集合T中取出沒有雙親且權值最小的兩棵樹作為左右子樹構造一棵新樹放回樹集合T中,直到T中只剩下一棵樹

4)特點:以自底向上的方式通過n-1次合並構建出一棵樹;權值越大的葉子離根越遠

3.算法設計

1.定義一個樹的結構體,包含權值、雙親(節點編號)、左孩子(節點編號)、右孩子(節點編號)、表示的字符

2.定義一個編碼的結構體,包括儲存編碼的數組和編碼開始的下標

時間復雜度

  O(n2)

代碼實現

  未完待續


免責聲明!

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



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