摘要:
1.定义
哈夫曼树(Huffman)又称最优树,是一类带权路径长度最短的树。Huffman树是指权值为w1,w2,...,wn的n个叶子节点的二叉树中带权路径长度最小的二叉树。
2.相关概念
(1)路径
路径是指从树中一个节点到另一个节点之间的分支构成的这两个节点之间的路径,路径上的分支数目就成为路径长度。
(2)树的路径长度
树的路径长度是从树根到每个叶子之间的路径长度之和。
(3)节点的带权路径长度
结点的带权路径长度为从该节点到树根之间的路径长度与该节点权的乘积。树的路径长度为树中所有结点的带权路径长度之和。
3.构造Huffman树的算法
(1)给定n个节点的集合,每个节点都带权值。
(2)选两个权值最小的节点构造一棵新的二叉树,新的二叉树的根结点的权值就是两个子节点权值之和。
(3)从n个节点中删除刚才使用的两个节点,同时将新产生的二叉树的根节点放在节点集合忠。
(4)重复(1)和(2),直到只有一颗树为止。
4.Huffman编码
Huffman编码,在编码过程中要考虑两个问题,一是数
阅读全文