结点的权:赋予结点的有意义的数值。带权路径长度(WPL):从根到该结点的路径长度 $\times$ 结点权值。树的 WPL = 所有叶子带权路径之和:
$$WPL = \sum_{i=1}^{n} w_i l_i$$
哈夫曼树(最优二叉树):在含 n 个带权叶子的二叉树中 WPL 最小者。特点:
编码:字符 → 对应哈夫曼编码(如 "FACE" → "11 1000 101 01")。解码:从根开始读 0 走左、读 1 走右,到叶子输出字符(如 "11100010101" → F A C E)。
| 字符 | 权值 | 编码(约定左 0 右 1) |
|---|---|---|
| A | 2 | 1000 |
| B | 3 | 1001 |
| C | 5 | 101 |
| D | 7 | 00 |
| E | 8 | 01 |
| F | 11 | 11 |
合并:3+5=8,7+8=15,8+11=19,14+15=29,19+29=48。简化计算:$WPL =$ 所有非叶子结点权值之和 $=8+15+19+29+48=119$(每次合并两权值各计一次路径)。
| 属性 | 值 |
|---|---|
| 叶子数 | n |
| 总结点数 | 2n−1 |
| 度为 1 的结点 | 0 |
| WPL | $\sum w_i l_i$(= 非叶子权值之和) |
| 编码性质 | 前缀编码 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。