【浙大数据结构】哈夫曼树
哈夫曼树
定义
带权路径长度(WPL):设二叉树有n个叶结点,每个叶结点带有权值wk,从根结点到每个叶结点的长度为lk,则每个叶结点的带权路径长度之和就是:
$$
WPL = \sum_{n=1}^n{w_kl_k}
$$
最优二叉树或哈夫曼树:WPL最小的二叉树

哈夫曼树的构造
每次把权值最小的两棵树合并
1 |
|
哈夫曼树的特点
- 没有度为1的结点
- n个叶结点的哈夫曼树共有2n-1个结点 (由==n
2= n0- 1==得出) - 哈夫曼树的任意非叶结点的左右子树交换后任是哈夫曼树
- 对同一组权值{w
1, w2, …, wn},存在不同构的两颗哈夫曼树
哈夫曼编码

- 怎么进行不等长编码?
- 怎么避免二义性?


二叉树用于编码
用二叉树进行编码:
- 左右分支:0、1
- 字符只在叶结点
当字符存在于二叉树的叶结点上时,就不会产生二义性



本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星の夜!