摘自《大话数据结构》
/**
* 赫夫曼树,压缩和解压缩在此基础上研究出来
* 带权路径长度(WPL)最小的二叉树称为赫夫曼树
* 算法:1、给定的n个权值{w1....}构成n颗二叉树的集合F={T1....Tn},(从小到大排序)
* 其中每颗二叉树Ti中只有一个带权为w1根节点,其左右子树为空
* 2、在F中选择选2颗根结点的权值最小的树作为左右子树构造一颗新的二叉树K,
* 且置新的二叉树的根结点的权值为其左右子树上权值之和
* 3、在F中删除这2颗树,同时将新新的二叉树K按权值大小排序到F中相应位置
* 4、重复2、3步骤,直到F只含一颗树。便是赫夫曼树
* 赫夫曼编码:规定每个字母数字的权值构成一颗赫夫曼树,然后按照左分支是0,右分支是1编码枝条
*/