哈夫曼编码:
哈夫曼编码是广泛地用于数据文件压缩的一个十分有效的编码方法。压缩率在20%~90%之间。
哈夫曼编码算法用一个字符在文件中出现的频率表来建立一个用0,1串表示字符的最优表示方式。
即频率越高,0,1串就越简短,从而整体的内存也会被压缩下来;
哈夫曼编码的构造:
1.将n个结点分别作为n棵仅含一个结点的二叉树,构成森林F;
2.构造一个新结点,从F中选取俩棵权值最小的树作为新结点的左右子树,并且将新结点的权值置为左右子树的权值之和;
3.从F中删除刚才选出的俩棵树,同时将新构造的树加入F中;
4.反复使用2和3步骤,直到合并成一棵树;
5.然后将左分支和右分支分别定义为0和1;按照路径取得对应的0,1串,这就是哈夫曼算法;