資源簡介
文本處理是現代化計算機應用的重要領域。文本由字符組成,字符以某種編碼形式存儲在計算機中。每個字符的編碼可以是相等長度的,也可以是不等長度的。我們熟知的ASCII編碼是等長編碼。為了提高存儲和處理文本的效率,在一些計算機應用場合,如數據通信,常采用不等長的編碼,對常用的字符用較少的碼位編碼,不常出現的字符用較多的碼位編碼,從而減少文本的存儲長度。哈夫曼編碼就是用于此目的的不等長編碼方法。當然,編碼的對面就有譯碼。本課題中,首先是構造哈夫曼樹。給定一組權值,以此作為葉結點的權值,可以構造多棵擴充二叉樹,它們通常具有不同的加權路徑長度。其中具有最小加權路徑長度的擴充二叉樹,用于構造高效的不等長編碼。哈夫曼給出了構造具有最小加權路徑長度的擴充二叉樹的算法,稱位哈夫曼算法。用哈夫曼算法構造的擴充二叉樹稱為哈夫曼編碼樹或哈夫曼樹。當然,還有編碼和譯碼部分。本系統的前端開發工具是Visual C++6.0。具有輸入字符集大小及權值大小,構造哈夫曼樹,并對用戶輸入的字符串進行編碼以及譯碼還有退出四種功能。本程序經過測試后,功能均能實現,運行穩定。
代碼片段和文件信息
評論
共有 條評論