霍夫曼编码,或者也可以说哈夫曼编码。它是一种编码方式,是可变长编码(VLC)的一种。准确来说,它是一种方法,什么方法呢?
这种方法,它完全依据字符出现的概率来构造异字头的平均长度最短的码字。
哈夫曼编码使用变成编码表对源字符进行编码,而这个变长编码表是通过估算源字符出现的概率得到的。它有个特点,就是出现概率高的字符使用短编码,出现概率低的字符使用长编码。
这样一来,编码后的的字符串平均长度,期望值得到了降低,从而达到了无损压缩数据的目的。
而哈夫曼树又叫做最优二叉树,是一种带权路径长度最短的树。什么叫做带权路径长度呢?就是树上所有叶节点的权值乘上它到根节点的路径长度。