You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.7 KiB
1.7 KiB
用途:用于数据传输过程中,将信息转换为二进制后进行编排,可以在一定程度上减少信息传输的大小。 定义:带权路径长度(WPL)最短的二叉树
一、基本概念
路径:从树中一个结点到另一个节点之间的分支构成这两个结点间的路径 路径长度:两结点间路径上的分支数 树的路径长度:从树根到每一个结点的路径长度之和 权:将树中结点赋给一个有某种含义的数值,则这个数值成为该结点的权 结点的带权路径长度:从根结点到该节点之间的路径长度与该节点的权的乘积 树的带权路径长度:树中所有叶子结点的带权路径长度之和。
树的带权路径长度越小可以认为性能越好
二、哈夫曼树的特点
- 具有相同带权结点的哈夫曼树不唯一
- 哈夫曼树中权值越大的叶子离根越近
三、如何构造哈夫曼树
口诀: 1. 构造森林全是根 2. 选用两小造新树 3. 删除两小添新人 4. 重复2、3剩单根
四、哈夫曼树的应用
1. 设计一个既能节省空间、有没有重码的编码
1.统计字符集中每个字符在电文中出现的平均概率(概率越大、要求编码越短)
2.将每个字符的概率值作为权值,构造哈夫曼树。(利用哈夫曼树的特点:权越大的叶子离根越近;概率越大的结点,路径越短)
3.在哈夫曼树的每个左分支标0、右分支标1,把从根到每个叶子结点路径上的标号连接起来,作为该叶子代表的字符编码,即哈夫曼编码。