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

这里写目录标题

基本概念

引子



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

基本概念

各种路径长度


各种带权路径长度

结点的带权路径长度


树的带权路径长度

哈夫曼树

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

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

总结:位高权重

并且哈夫曼树不唯一

哈夫曼树的构造

理论基础


构造思想

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

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

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

重复23步 直到剩单根


度 是指结点有的子树个数

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

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

总结

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

相关推荐
仍然.18 小时前
JavaDataStructure---排序
数据结构·算法·排序算法
代码游侠19 小时前
应用——MQTT客户端开发
服务器·c语言·开发语言·数据结构·算法
独自破碎E20 小时前
链表中的节点每k个一组翻转
数据结构·链表
cookqq21 小时前
MySQL 5.7 大表删除部分数据:.ibd 文件会变小吗?磁盘会释放吗?
数据结构·数据库·mysql
D_FW21 小时前
数据结构第三章:栈、队列与数组
数据结构·算法
福楠21 小时前
模拟实现stack、queue、priority_queue
c语言·开发语言·数据结构·c++
budingxiaomoli21 小时前
优选算法--链表
数据结构·算法·链表
漫随流水21 小时前
leetcode算法(637.二叉树的层平均值)
数据结构·算法·leetcode·二叉树
漫随流水1 天前
leetcode算法(102.二叉树的层序遍历)
数据结构·算法·leetcode·二叉树
漫随流水1 天前
leetcode算法(二叉树的层序遍历Ⅱ)
数据结构·算法·leetcode·二叉树