###Huffman Compression - 霍夫曼壓縮 主要思想:放棄文本文件的普通保存方式:再也不使用7位或8位二進制數表示每個字符,而是用較少的比特表示出現頻率最高的字符,用較多的比特表示出現頻率低的字符。算法
使用變長編碼來表示字符串,勢必會致使編解碼時碼字的惟一性問題,所以須要一種編解碼方式惟一的前綴碼,而表示前綴碼的一種簡單方式就是使用單詞查找樹,其中最優前綴碼即爲Huffman獨創。編碼
以符號F, O, R, G, E, T爲例,其出現的頻次如如下表格所示。圖片
Symbol F O R G E T Frequence 2 3 4 4 5 7 Code 000 001 100 101 01 10 則對各符號進行霍夫曼編碼的動態演示以下圖所示。基本步驟是將出現頻率由小到大排列,組成子樹後頻率相加做爲總體再和其餘未加入二叉樹中的節點頻率比較。加權路徑長爲節點的頻率乘以樹的深度。字符串
有關霍夫曼編碼的具體步驟可參考 Huffman 編碼壓縮算法 | 酷 殼 - CoolShell.cn 和 霍夫曼編碼 - 維基百科,自由的百科全書,清晰易懂。it