哈夫曼树的构造规则为:
(1) 将16 ,5 ,9,3,20,1看成是有n 棵树的森林(每棵树仅有一个结点);
(2) 在16 ,5 ,9,3,20,1森林中选出两个根结点的权值最小的树合并,(即1,3)
作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和;
(3)从森林中删除选取的两棵树(即1,3),并将新树(4)加入森林; 权值数列为(4,5,9,16,20)
(4)重复(2)、(3)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树
哈夫曼树编码
在树中令所有左分支取编码为 0 ,令所有右分支取编码为1。将从根结点起到某个叶子结点路径上的各左、右分支的编码顺序排列,就得这个叶子结点所代表的字符的二进制编码
A10 B1111 C110 D11101 E0 F11100