<span>019-哈夫曼树</span>

1、哈夫曼树。Huffman Tree,中文名是哈夫曼树或霍夫曼树,它是最优二叉树,哈夫曼树,类似于算法中的二叉树,说白了哈夫曼树就是一种二叉树,只是一种最优二叉树。给定n个权值作为n个叶子结点,构造一棵二叉树,若树的带权路径长度达到最小,则这棵树被称为哈夫曼树。

2、路径。若在一棵树中存在着一个结点序列 k1,k2,……,kj, 使得 ki是ki+1 的双亲(1<=i<j),则称此结点序列是从 k1 到 kj 的路径。

3、路径长度。根据路径定义知,从 k1 到 kj 所经过的分支数称为这两点之间的路径长度,它等于路径上的结点数减1。

4、结点的权。在许多应用中,常常将树中的结点赋予一个有着某种意义的实数,我们称此实数为该结点的权,(如下面一个树中的蓝色数字表示结点的权)。

5、结点的带权路径长度。结点的带权路径长度规定为从树根结点到该结点之间的路径长度与该结点上权的乘积。

6、树的带权路径长度。如下图。其中,n表示叶子结点的数目,wi 和 li 分别表示叶子结点 ki 的权值和树根结点到 ki 之间的路径长度。

 

7、哈夫曼树构造规则。假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,哈夫曼树的构造规则为。

#############################################################

1. 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点); 
2. 在森林中选出根结点的权值最小的两棵树进行合并,作为一棵新树的左、右子树,且新树的根结点权值为其左、右子树根结点权值之和; 
3. 从森林中删除选取的两棵树,并将新树加入森林; 
4. 重复(02)、(03)步,直到森林中只剩一棵树为止,该树即为所求得的哈夫曼树。

##############################################################

8、哈夫曼树的特点。

(1)对于同一组权值,所能得到的赫夫曼树不一定是唯一的。

(2)赫夫曼树的左右子树可以互换,因为这并不影响树的带权路径长度。

(3)带权值的节点都是叶子节点,不带权值的节点都是某棵子二叉树的根节点。

(4)权值越大的节点越靠近赫夫曼树的根节点,权值越小的节点越远离赫夫曼树的根节点。

(5)赫夫曼树中只有叶子节点和度为2的节点,没有度为1的节点。
(6)一棵有n个叶子节点的赫夫曼树共有2n-1个节点。

 

9、举例说明。为了使得到的哈夫曼树的结构尽量唯一,通常规定生成的哈夫曼树中每个结点的左子树根结点的权小于等于右子树根结点的权。权值大小排列规则是每层从左到右依次增大,即二叉搜索树结构。给定权值序列,求该序列的哈夫曼树

##########################################################

 

#########################################################

 

#########################################################

 

#########################################################

 

#########################################################

 

#########################################################

 

8、

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
9842次浏览 92人参与
# 你的实习产出是真实的还是包装的? #
1768次浏览 41人参与
# 米连集团26产品管培生项目 #
5785次浏览 214人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7489次浏览 43人参与
# 简历第一个项目做什么 #
31584次浏览 331人参与
# 重来一次,我还会选择这个专业吗 #
433389次浏览 3926人参与
# MiniMax求职进展汇总 #
23879次浏览 308人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187019次浏览 1122人参与
# 牛客AI文生图 #
21411次浏览 238人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152303次浏览 887人参与
# 研究所笔面经互助 #
118877次浏览 577人参与
# 简历中的项目经历要怎么写? #
310102次浏览 4195人参与
# AI时代,哪些岗位最容易被淘汰 #
63464次浏览 805人参与
# 面试紧张时你会有什么表现? #
30490次浏览 188人参与
# 你今年的平均薪资是多少? #
213027次浏览 1039人参与
# 你怎么看待AI面试 #
179897次浏览 1237人参与
# 高学历就一定能找到好工作吗? #
64317次浏览 620人参与
# 你最满意的offer薪资是哪家公司? #
76446次浏览 374人参与
# 我的求职精神状态 #
448005次浏览 3129人参与
# 正在春招的你,也参与了去年秋招吗? #
363287次浏览 2637人参与
# 腾讯音乐求职进展汇总 #
160598次浏览 1111人参与
# 校招笔试 #
470549次浏览 2964人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务