-
大小: 2.52MB文件類型: .doc金幣: 1下載: 0 次發(fā)布日期: 2023-09-14
- 語言: C/C++
- 標(biāo)簽:
資源簡介
文本處理是現(xiàn)代化計(jì)算機(jī)應(yīng)用的重要領(lǐng)域。文本由字符組成,字符以某種編碼形式存儲在計(jì)算機(jī)中。每個字符的編碼可以是相等長度的,也可以是不等長度的。我們熟知的ASCII編碼是等長編碼。為了提高存儲和處理文本的效率,在一些計(jì)算機(jī)應(yīng)用場合,如數(shù)據(jù)通信,常采用不等長的編碼,對常用的字符用較少的碼位編碼,不常出現(xiàn)的字符用較多的碼位編碼,從而減少文本的存儲長度。哈夫曼編碼就是用于此目的的不等長編碼方法。當(dāng)然,編碼的對面就有譯碼。本課題中,首先是構(gòu)造哈夫曼樹。給定一組權(quán)值,以此作為葉結(jié)點(diǎn)的權(quán)值,可以構(gòu)造多棵擴(kuò)充二叉樹,它們通常具有不同的加權(quán)路徑長度。其中具有最小加權(quán)路徑長度的擴(kuò)充二叉樹,用于構(gòu)造高效的不等長編碼。哈夫曼給出了構(gòu)造具有最小加權(quán)路徑長度的擴(kuò)充二叉樹的算法,稱位哈夫曼算法。用哈夫曼算法構(gòu)造的擴(kuò)充二叉樹稱為哈夫曼編碼樹或哈夫曼樹。當(dāng)然,還有編碼和譯碼部分。本系統(tǒng)的前端開發(fā)工具是Visual C++6.0。具有輸入字符集大小及權(quán)值大小,構(gòu)造哈夫曼樹,并對用戶輸入的字符串進(jìn)行編碼以及譯碼還有退出四種功能。本程序經(jīng)過測試后,功能均能實(shí)現(xiàn),運(yùn)行穩(wěn)定。
代碼片段和文件信息
評論
共有 條評論