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

这里写目录标题

基本概念

引子



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

基本概念

各种路径长度


各种带权路径长度

结点的带权路径长度


树的带权路径长度

哈夫曼树

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

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

总结:位高权重

并且哈夫曼树不唯一

哈夫曼树的构造

理论基础


构造思想

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

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

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

重复23步 直到剩单根


度 是指结点有的子树个数

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

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

总结

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

相关推荐
fouen2 小时前
贪心算法理论篇
数据结构·python·算法·贪心算法
祁同伟.3 小时前
【数据结构 · 初阶】- 快速排序
数据结构·算法·排序算法
XiaoyaoCarter5 小时前
每日leetcode
数据结构·c++·算法·leetcode·职场和发展·kmp算法
无聊的小坏坏6 小时前
【数据结构】红黑树
数据结构·c++
啊吧怪不啊吧7 小时前
C++之初识模版
开发语言·数据结构·c++
刚入坑的新人编程8 小时前
高阶数据结构——红黑树实现
数据结构
星光银河9 小时前
链表操作场景与循环条件技巧总结表(含指针初始化)
数据结构·算法·链表
2301_794461579 小时前
力扣-两数之和
数据结构·算法·leetcode
2301_7944615712 小时前
力扣-三数之和
数据结构·算法·leetcode
Hygge-star21 小时前
【算法】定长滑动窗口5.20
java·数据结构·算法·学习方法·代码规范