霍夫曼编码是一种常用的无损压缩编码,也是一种不定长编码,即代表各元素的码字长度不同。该编码方式基于不同符号的概率分布,在信息源中出现概率越大的符号,相应的编码长度越短,出现概率越小的符号,其编码长度越长,从而达到用尽可能少的码符号表示源数据的目的。它在变长编码中是最佳的,JPEG标准中的基准模式采用的就是霍夫曼编码。本程序对传统霍夫曼编码进行改进,这种方案不需要事先扫描输入符号流,而是随着编码的进行同时构造霍夫曼树,因此,只需要进行一次扫描即可。同时,这种编码方案对符号的统计也动态进行,随着编码的进行,同一个符号的编码可能发生改变。在接收端伴随着解码过程同时进行着编码树的构造。