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

这里写目录标题

基本概念

引子



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

基本概念

各种路径长度


各种带权路径长度

结点的带权路径长度


树的带权路径长度

哈夫曼树

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

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

总结:位高权重

并且哈夫曼树不唯一

哈夫曼树的构造

理论基础


构造思想

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

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

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

重复23步 直到剩单根


度 是指结点有的子树个数

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

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

总结

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

相关推荐
醇氧13 小时前
MySQL 8.0 系统表损坏与引擎转换故障排查实战
数据结构·算法
shirsl16 小时前
算法 Day 5 树 / 二叉树 + DFS
数据结构·python·算法
多弗朗皮卡丘16 小时前
数据结构9:排序算法
c语言·数据结构·排序算法
杜 硕17 小时前
单链表的模拟实现
数据结构
爱吃苹果的日记本19 小时前
数据结构第四课—线性表Linear List
数据结构·学习
Lyyaoo.21 小时前
【动态规划】【待更新】
java·数据结构·算法
我不会起名字32221 小时前
一天一道算法题(35):电话号码的字母组合
java·数据结构·后端·python·leetcode·go·回溯
鹿角片ljp1 天前
LeetCode 78:子集|回溯、选与不选、递归和path快照
java·数据结构·算法
YSL0701241 天前
顺序表小补充
数据结构
wabs6661 天前
关于二叉树【力扣101.对称二叉树的思考】
数据结构·c++·算法·leetcode·二叉树