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

这里写目录标题

  • 基本概念
    • 引子
    • 基本概念
      • 各种路径长度
      • 各种带权路径长度
        • 结点的带权路径长度
        • 树的带权路径长度
        • 哈夫曼树
    • 哈夫曼树的构造
      • 理论基础
      • 构造思想
      • 总结
  • 一级目录
    • 二级目录
    • 二级目录
    • 二级目录
  • 一级目录
    • 二级目录
    • 二级目录
    • 二级目录
  • 一级目录
    • 二级目录
    • 二级目录
    • 二级目录
  • 一级目录
    • 二级目录
    • 二级目录
    • 二级目录

基本概念

引子

数据结构----哈夫曼树_第1张图片

数据结构----哈夫曼树_第2张图片
哈夫曼树就是寻找构造最优二叉树,用于提高效率

基本概念

各种路径长度


数据结构----哈夫曼树_第3张图片

各种带权路径长度

结点的带权路径长度

数据结构----哈夫曼树_第4张图片
数据结构----哈夫曼树_第5张图片

树的带权路径长度

数据结构----哈夫曼树_第6张图片

数据结构----哈夫曼树_第7张图片

哈夫曼树

数据结构----哈夫曼树_第8张图片
带权路径长度最短的树或者二叉树

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

数据结构----哈夫曼树_第9张图片
总结:位高权重
并且哈夫曼树不唯一

哈夫曼树的构造

理论基础

数据结构----哈夫曼树_第10张图片

构造思想

数据结构----哈夫曼树_第11张图片
可以看到 先将所有结点看成根结点构造出森林 并将权重赋值给结点
之后 选择两个小权重的结点 二者构造出新树 如上图 新树根结点权重为子树结点权重之和
这时要先将森林中的两个树删除 之后 将两个树构造成的新树加入森林(为了进行下一次权重的比较 从而下一步构造的顺利进行)
重复23步 直到剩单根


数据结构----哈夫曼树_第12张图片
度 是指结点有的子树个数

哈夫曼树结点的度只能是0或者2
n个叶子结点的哈夫曼树 一共有2n-1个结点 分析如上橙色框

总结

数据结构----哈夫曼树_第13张图片

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

一级目录

二级目录

二级目录

二级目录

你可能感兴趣的:(数据结构)