数据结构----哈夫曼树

这里写目录标题

基本概念

引子



哈夫曼树就是寻找构造最优二叉树,用于提高效率

基本概念

各种路径长度


各种带权路径长度

结点的带权路径长度


树的带权路径长度

哈夫曼树

带权路径长度最短的树或者二叉树

也就是树的叶子结点带权路径长度之和 :也就是叶子结点的结点路径长度(根结点到叶子结点的路径数) *权重 再求和

总结:位高权重

并且哈夫曼树不唯一

哈夫曼树的构造

理论基础


构造思想

可以看到 先将所有结点看成根结点构造出森林 并将权重赋值给结点

之后 选择两个小权重的结点 二者构造出新树 如上图 新树根结点权重为子树结点权重之和

这时要先将森林中的两个树删除 之后 将两个树构造成的新树加入森林(为了进行下一次权重的比较 从而下一步构造的顺利进行)

重复23步 直到剩单根


度 是指结点有的子树个数

哈夫曼树结点的度只能是0或者2

n个叶子结点的哈夫曼树 一共有2n-1个结点 分析如上橙色框

总结

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

相关推荐
All for pursuit.2 小时前
【位运算-3】136.只出现一次的数字
数据结构·c++·算法·leetcode
suhan2 小时前
【数据结构】五、树:7.哈夫曼树、哈夫曼编码
数据结构·算法·排序算法
suhan3 小时前
【数据结构】五、树:6.平衡二叉树AVL
数据结构·算法·排序算法
suhan3 小时前
【数据结构】五、树:5.二叉排序树BST
数据结构·算法·排序算法
爱读书的小胖3 小时前
80. 删除有序数组中的重复项 II
java·数据结构·算法
小画家~4 小时前
vue3 里面的 itemList.reduce
前端·数据结构·算法
tryxr4 小时前
索引概念和索引底层数据结构
数据结构·索引
All for pursuit.4 小时前
【完结】LeetCodeHot100题 详细解题过程及代码汇总
数据结构·c++·算法·leetcode
mmmmath_34 小时前
LeetCode.101.对称二叉树
数据结构·leetcode
Logic1014 小时前
C语言/数据结构位运算题解:异或XOR找出数轴移动中只出现一次的指令——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质