資源簡(jiǎn)介
根據(jù)給定字符的使用頻率,為其設(shè)計(jì)哈夫曼編碼。 功能:求出n個(gè)字符的哈夫曼編碼。輸入:輸入n個(gè)字符和字符在電文中的使用頻率。輸出:n個(gè)字符的哈夫曼編碼。
代碼片段和文件信息
#include????
#include????
#include?????
#include?????
#include?????
#include????
//------定義結(jié)構(gòu)體---------?
typedef???struct???{?
char??data;???//字符
????int???weight;??//字符的權(quán)值,即出現(xiàn)次數(shù)
int???parent;??//父節(jié)點(diǎn)
int???lchild;??
int???rchild;??
}?HTNode*HuffmanTree;??
typedef?char?**HuffmanCode;??//編碼指針
?
typedef?struct?{??
int?s1;??//權(quán)值最小的兩個(gè)序號(hào)
int?s2;??
}?MinCode;??
//-------方法聲明----------
void?Welcome();
//void?Error(char?*message);???//錯(cuò)誤信息處理
HuffmanCode?HuffmanCoding(HuffmanTree?HTHuffmanCode?HCint?*wchar?*dint?n);??//給字符編碼
MinCode?Select(HuffmanTree?HTint?n);??//選出最短?
//-------方法定義----------?
void?Welcome()
{
//system(“color?8a“);//設(shè)置系統(tǒng)顏色
printf(“???????????????========================???\n“);
printf(“***************歡迎使用本哈夫曼編碼系統(tǒng)**************\n“);
printf(“???????????????========================???\n“);
printf(“!接下來(lái)請(qǐng)輸入相關(guān)數(shù)據(jù),就會(huì)得到你所需要的哈夫曼編碼。\n“);
}
/*void?Error(char?*message)??
{??
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????4972??2009-11-27?23:26??哈夫曼編碼.cpp
?????文件????????145??2009-11-18?22:24??readme.txt
?????文件?????200786??2009-11-23?21:39??哈夫曼編碼.exe
-----------?---------??----------?-----??----
???????????????205903????????????????????3
評(píng)論
共有 條評(píng)論