哈夫曼樹的應用


編碼:

1.統計需要編碼的文件中每個字符出現的次數,並排序

2.選取出現次數最少的兩個字符,把兩者次數之和放入序列中;

3.重復操作 2 直到完成;

4.左子樹權為0 右子樹權為1;

舉例:

a 的編碼為:00

b 的編碼為:01

c 的編碼為:100

d 的編碼為:1010

e 的編碼為:1011

f 的編碼為:11

壓縮:

過程和編碼差不多,不同的是:編碼是把編碼輸入到另一個文件中,而壓縮是輸入到同一個文件中,當然都要把每個字符對應的二進制碼輸入到文件中;

問題:

壓縮漢字的時候 要使用unsigned char!!!這時ch讀不到文件的結束標志,所以我們可以用函數feof來代替文件的結束標志EOF,最重要的是文件的打開方式一定要是二進制的形式打開否則讀不到漢字字符,


免責聲明!

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



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