版權聲明: 本文由 一隻博客 發表於 bloghome博客
文章連接: https://www.bloghome.com.cn/user/cnn237111算法
哈夫曼編碼取決於哈夫曼樹。app
將要壓縮的字符串,將每一個字出現的頻率做爲依據,構造一顆哈夫曼樹,頻率越大的字越是靠近樹的根結點,所以它的編碼也就越短。所以,頻率高的字用短碼,頻率低的字用長碼。根據這樣的碼錶能夠實現壓縮字符串了。ide
本程序採用C#實現。編碼
基本上是演示了哈夫曼編碼壓縮的原理。因爲是演示代碼,所以沒必要太糾結與效率。本程序效率一定不高。加密
根據碼錶組成的二進制碼,按照7位一組轉成ASCII碼(採用的ASCII碼爲7位,0-127),而且有一個標誌頭指示是否有多餘的尾碼。具體看代碼實現。spa
本程序也能夠稍加改編,成爲字符串加密算法。orm
效果圖以下:blog