本文主要是介绍统一编码-香浓编码-霍夫曼编码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
香浓编码中所谓的从上到下的编码方式的意思就是说:首先是符号按照其出现的频率从小到大(或从大到小)进行排序,然后按照中出现的频率一半一半地分,最后得到的编码就是香浓编码。例如:先有符号A:12,B:9,C:5,D:4,E:2,F:2 那么按照香浓编码,先分组:(A,B),(C,D,E,F)因为这时为21:13两边较为均衡,然后再左右分(C),(D,E,F),再分(D),(E,F)最后就得到了这棵树
其编码就可以计算出来。
而霍夫曼编码是从下到上的,意思就是说按照出现概率最小的两个先组合,然后再然后把组合的概率加紧原来的序列中,再按照最小的两个概率组合以此类推就可以得到霍夫曼编码了。如按照上面的例子ABCDEF个字符出现的概率分别是:0.353,0.266,0.147,0.116,0.059,0.059,那么其分组为先EF,然后把EF组合后的概率0.118加入到原来的排序中变为:0.353,0.266,0.147,0.116,0.118此时分组就得到(D,(E,F)),以此类推。结果得到图跟上面的一样。当然有时候这两种编码得到的树会不一样。
待续·················
这篇关于统一编码-香浓编码-霍夫曼编码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!