目录
一、哈夫曼树
哈夫曼(Huffman)树,又称最优树,是一类带权路径长度最短的树,本文讨论最优二叉树。
下面先介绍其中的一些名词概念。
路径:从树中一个结点到另一个结点之间的分支
路径长度:路径上的分支数
树的路径长度:从树根到每一个叶子结点的路径长度之和
树的带权路径长度:树根到所有带权叶子结点的路径长度之和
构造哈夫曼树的步骤:
1、根据给定的n个权值{w1,w2,……wn},构造n棵只有根结点的二叉树;
2、在森林中选取两棵根结点权值最小的树作左右子树,构造一棵新的二叉树,置新二叉树根结点权值为其左右子树根结点权值之和;
3、在森林中删除这两棵树,同时将新得到的二叉树加入森林中;
4、重复上述两步,直到只含一棵树为止,这棵树即哈夫曼树。