哈夫曼树(霍夫曼树)又称为最优二叉树.

一般用来减少程序整体运行时间,将权重大的放在前面。

下面我们以【5、8、4、11、9、13】为例来画出哈夫曼树(数字大小代码权重大小,越大的权重越大)

方法/步骤

  1. 第一步:按从小到大排序。

    【5、8、4、11、9、13】→【4、5、8、9、11、13】


  2. 第二步:选最小两个数画出一个树,最小数为4和5。

    给定的4、5、8、9、11、13为白色, 红色的9为4+5,与给定的白9无关,新序列为:【红9(含子节点4、5)、8、9、11、13】


  3. 3

    之后一直重复第一、第二步:排序然后取两个最小值。实际就是一个递归过程

    排序:


  4. 4

    取两个最小数8和9:

  5. 5

    排序:

  6. 6

    取两个最小数9和11:

  7. 7

    排序,然后取两个最小数13和17:

  8. 8

    取两个最小数20和30:

如何快速画出霍夫曼树相关推荐

  1. 快速画出哈夫曼树/霍夫曼树/最优树

    2019独角兽企业重金招聘Python工程师标准>>> 哈夫曼树(霍夫曼树)又称为最优二叉树. n个叶子结点的哈夫曼树共有几个结点 ? Huffman 树是所谓的正则二叉树,只有度为 ...

  2. Python实现霍夫曼树

    Python实现霍夫曼树 霍夫曼树是一种特殊的二叉树,是一种带权路径长度最短的二叉树,又称为最优二叉树. 给定 N 个权值作为二叉树的 N 个叶节点的权值,构造一棵二叉树,若该二叉树的带权路径长度达到 ...

  3. 霍夫曼树(最优二叉树)的实现

    文章目录 一.相关概念 1.节点的路径及路径长度 2.节点的带权路径长度 3.树的带权路径长度 4.霍夫曼树 二.构建步骤与图解 1.构建步骤 2.图解 三.代码实现 1.创建节点类: 2.创建霍夫曼 ...

  4. 数据结构与算法 / 霍夫曼树、霍夫曼编码和解码

    一. 诞生原因 找出存放一串字符所需的最少的二进制编码. 二. 构造方法 首先统计出每种字符出现的频率,即:概率.权值. 例如:频率表 A:60,    B:45,   C:13   D:69   E ...

  5. 深入学习二叉树(三) 霍夫曼树

    深入学习二叉树(三) 霍夫曼树 1 前言 霍夫曼树是二叉树的一种特殊形式,又称为最优二叉树,其主要作用在于数据压缩和编码长度的优化. 2 重要概念 2.1 路径和路径长度 在一棵树中,从一个结点往下可 ...

  6. 程序员的进阶课-架构师之路(10)-霍夫曼树

    一.霍夫曼(Huffman)的由来 1.历史上的远距通信问题 最初的远距通信用于传递文本信息,主要是电报. 小A:如何将一段文字内容为"BADCADFEED"通过网络传递给别人呢? ...

  7. 霍夫曼树之切割木板最小总代价问题

    对于本题的切割方案,在给出了最终的切割结果后,我们其实可以使用倒推的方法,将最终的小木板不断合成大木板,大木板的长度就是本次合并的开销,和相同条件下的切割的开销是一样的. 这样想的话,想要总开销小的话 ...

  8. Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树

    Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 文章目录 Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 0x00 摘要 0x01 背景概念 1.1 词向量 ...

  9. 数据结构(二叉树相关、满、完全二叉树、霍夫曼树、排序方法及时间复杂度总结、)笔记-day11

    目录 前言 一.树(Tree) 1.1树及特征 1.2二叉树概念及性质 1.3二叉树存储结构及遍历 1.4链式存储编码 二.霍夫曼树(最优二叉树) 2.1权值及带权路径长度 2.2霍夫曼树特征及构建 ...

最新文章

  1. JC法在matlab,自贡自流井启闭机--四川闸门厂家产品中心
  2. 爱,除了看怎么说,还要看怎么做 !
  3. Cow Contest POJ - 3660(floyed求传递闭包)
  4. java filterinputstream_java.io.FilterInputStream.close()
  5. Java建造者模式详解
  6. 微信状态可设置QQ音乐 网友:能不能整点实用的?
  7. .net mvc 导出excel表格
  8. PhpStorm之三种视图模式
  9. 7类数据分析常见的统计陷阱,快来排雷!
  10. 2017.5.20欢(bei)乐(ju)赛解题报告
  11. 飞凌小课堂-OK3399-C linux双千兆网口方案-RTL8153
  12. 2021年全国程序员工资出炉想要年薪60万,难吗?网友,扎心了
  13. 正余弦信号的DFT频谱分析
  14. Q1净亏损同比扩大222% 四通一达业绩垫底百世还能逆袭吗?
  15. 记小米路由器Pro(R3P)刷机openwrt、潘多拉、lean-openwrt、x-wrt
  16. SATA系列专题之五:Link Power Management解析
  17. Java编程----函数
  18. 软件定义网络(Software Defined Network,SDN)简介
  19. FleaPHP 开发指南 - 6. 访问数据库
  20. 《大唐豪侠》架构开发纪实

热门文章

  1. 十部让你泣不成声的老电影
  2. golang开发工程师-第一步:golang入门基础教学
  3. Python房价分析和可视化<anjuke二手房>
  4. 遍历指定文件夹下的所有文件名
  5. 别嫌工资少,高薪资的标准你符合几条
  6. Java 生成各种 PDF 实战方案(图片、模板、表格)
  7. 车路协同边缘计算与边云协同概览
  8. php怎么读取txt文件_PHP读取文件内容的五种方式
  9. PCIe | 基础知识点扫盲
  10. 游戏画质修改器GFX工具箱(GFX tool)_9.9.8特别版