文章目录

哈夫曼树的基本概念

第十五章 数据结构 哈夫曼树_最优二叉树第十五章 数据结构 哈夫曼树_哈夫曼编码_02
第十五章 数据结构 哈夫曼树_结点_03第十五章 数据结构 哈夫曼树_最优二叉树_04

在T集合中选取最小和次小的两棵二叉树作为左,右子树。

例题:构造哈夫曼树 + 实例

在解决电文传输中,加快输出速度,我们可以使用哈夫曼树。
●由此可见:设计电文总长最短的二进制前缀编码,就是以n种字符出现的频率作权,设计一棵哈夫曼树,由此得到的二进制前缀编码便称为哈夫曼编码。

第十五章 数据结构 哈夫曼树_哈夫曼编码_05
第十五章 数据结构 哈夫曼树_最优二叉树_06
第十五章 数据结构 哈夫曼树_结点_07

哈夫曼编码-哈夫曼树(最优二叉树)的应用

第十五章 数据结构 哈夫曼树_最优二叉树_08

最优二叉树解决问题

.数据的最小冗余编码问题
.译码的唯一性问题

关于哈夫曼编码的结论

第十五章 数据结构 哈夫曼树_哈夫曼编码_09
第十五章 数据结构 哈夫曼树_哈夫曼编码_10
第十五章 数据结构 哈夫曼树_最优二叉树_11

判断是否为哈夫曼编码

不可能出现一个字符的哈夫曼编码是另一个字符哈夫曼编码的前缀
第十五章 数据结构 哈夫曼树_哈夫曼编码_12

常用换算

哈夫曼编码树中没有度为1的结点。设叶子结点的个数为n,则哈夫曼编码树的结点总数为2n - 1.

第十五章 数据结构 哈夫曼树_哈夫曼编码_13
哈夫曼树最典型、最广泛的应用是在编码技术上。利用哈夫曼树,构造所得的哈弗曼编码是一种最优前缀编码。

第十五章 数据结构 哈夫曼树_最优二叉树_14第十五章 数据结构 哈夫曼树_哈夫曼编码_15

每个树节点有两个指针,99个节点共有198个指针,除了没有指针指向根节点,其余节点都有一个指针指过去,这样就有98个指针被使用,所以还剩100个指针未使用。