1.哈夫曼树:给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。
2.哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
3.构造
1.权值最小的两个结点,构造成一棵二叉树,该二叉树的权值为两个结点之和,并把该二叉树看成结点。
2.重复1步骤。
4.哈夫曼编码:字符出现次数等同于权值,是变长编码。
5.可以使用哈夫曼编码进行压缩文件。
6.哈夫曼树只是一棵最优二叉树,不一定是完全二叉树,也不一定是平衡二叉树。
7.哈夫曼树每个结点要么没有子节点,要么有两个子节点,可考虑哈夫曼树的构成。
2.哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
3.构造
1.权值最小的两个结点,构造成一棵二叉树,该二叉树的权值为两个结点之和,并把该二叉树看成结点。
2.重复1步骤。
4.哈夫曼编码:字符出现次数等同于权值,是变长编码。
5.可以使用哈夫曼编码进行压缩文件。
6.哈夫曼树只是一棵最优二叉树,不一定是完全二叉树,也不一定是平衡二叉树。
7.哈夫曼树每个结点要么没有子节点,要么有两个子节点,可考虑哈夫曼树的构成。