目录

哈夫曼树定义:

构造哈夫曼树:

哈夫曼编码

前缀编码:

应用(压缩文本)


哈夫曼树定义:

构造哈夫曼树:

哈夫曼编码

前缀编码:

 哈夫曼编码是前缀编码

哈夫曼树的性质

哈夫曼树的任意非叶结点的左右子树交换后仍是哈夫曼树

应用(压缩文本)

如果用000,001.,...111,表示字母A-H

有一串文本只含A-H,频率出现如下图

如果把出现次数当做叶子节点的权值构造哈夫曼树:

把字母的哈夫曼编码作为字母的编码

可以节约%10的内存空间

【数据结构和算法笔记】哈夫曼树的概念,构造和应用(利用哈夫曼编码压缩文本)相关推荐

  1. 数据结构与算法笔记(十三)—— 树与树的算法

    一.树的概念 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构, 用来模拟具有树状结构性质的数据集合.它是由 n(n>=1)个有限节点组成一个具有层次关 系的集 ...

  2. 【数据结构和算法笔记】二叉树和树/森林的相互转换

  3. 算法学习笔记——数据结构:哈夫曼树、带权路径长度WPL、哈夫曼编码

    引入 合并果子问题如下: 有n堆果子,每次可以合并任意两堆果子,耗费体力值为[两堆果子数之和],最终在n-1次合并后,得到一堆果子. 给出合并的方案,使得耗费的体力值最小 例如有3堆果子,质量依次为1 ...

  4. 《数据结构与算法》(十一)- 树、森林与二叉树的转换及哈夫曼树详解

    目录 前言 1. 树.森林与二叉树之间的转换 1.1 树转换为二叉树 1.2. 森林转换为二叉树 1.3. 二叉树转换为树 1.4 二叉树转换为森林 1.5 树与森林的遍历 2. 哈夫曼树及其应用 2 ...

  5. (王道408考研数据结构)第五章树-第四节3:哈夫曼树基本概念、构造和哈夫曼编码

    文章目录 一:哈夫曼树基本概念 (1)相关术语 (2)哈夫曼树定义 二:哈夫曼树的构造 三:哈夫曼树特点 四:哈夫曼树典型应用-哈夫曼编码 在计算机中, 文件压缩是一项非常重要的技术,它除了可以减少文 ...

  6. 数据结构与算法笔记(青岛大学王卓老师视频)

    写在前面的话: 因为在学习数据结构之前,学习过一年的算法,所以有一些基础,一些我觉得 没必要的代码或知识就没写上,记得多是一些知识点,写的可能对于别人来说 很难接受,望谅解.我学习算法是在Acwing ...

  7. 数据结构和算法基础(4)——树

    一.概念 1. 为什么需要树这种数据结构 ① 数组存储方式 优点:通过下标方式访问元素,速度快.对于有序数组可以通过二分查找提高检测速度. 缺点:如果要通过内容来查找元素的位置,或者插入删除值时,效率 ...

  8. 【尚硅谷】Java数据结构与算法笔记11 - 树结构的实际应用

    文章目录 一.堆排序 1.1 堆排序基本介绍 1.2 堆排序的基本思想 1.3 堆排序步骤图解 1.4 堆排序思路总结 1.5 堆排序代码实现 二.赫夫曼树 2.1 基本介绍 2.2 重要概念 1.3 ...

  9. 数据结构与算法笔记(十六)—— 二叉搜索树

    一.二叉搜索树定义 二叉搜索树(Binary Search Tree),又名二叉排序树(Binary Sort Tree). 二叉搜索树是具有有以下性质的二叉树: 若左子树不为空,则左子树上所有节点的 ...

最新文章

  1. 英语和数学不好可以学python-学习Python总是学了新内容又忘了旧的咋办?
  2. 四人团-江南行-乌镇东栅旅游
  3. python 中用什么键缩进 —— tab 还是空格?
  4. mysql 关联查询_Mysql查询优化器,再也不会因为该什么时候建立索引发愁了
  5. VMware 常见使用问题梳理
  6. python中的面向对象
  7. java中有序数组比无序数值好_java面向对象的有序数组和无序数组的比较
  8. ansible+Jenkins+supervisor(Jenkins守护进程)
  9. 事件对象使用方法大全(源码解析)
  10. ScrollMagic-jQuery元素滚动动画库插件
  11. 专技继续教育-使用tampermonkey刷课时(可自动跳转下一节)
  12. Oracle 11g 下载安装
  13. 高德地图缩放级别对应的比例尺
  14. 警示灯emark认证需要什么条件?
  15. pwntcha库的安装依赖
  16. linux奶瓶安装方法,ubuntu系统下怎么安装奶瓶
  17. Set集合:求交集、并集和差集
  18. 微博视频代发(流程b)
  19. 【程序厨】学习 Redis ,可以看看这个
  20. erdas叠加显示_利用erdas对遥感影像进行分类具体步骤

热门文章

  1. (Android小应用)在Android中实现多线程断点下载(连载二)
  2. mysqldump 导入导出数据
  3. 怎样让百度快速收录的新方法
  4. Bailian3260 赛手查询【排序】
  5. HDU1231 最大连续子序列【最大子段和】
  6. 一题多解 —— linux 日志文件(log)reload 重新载入
  7. 深度学习 —— 使用 gensim 实现 word2vec
  8. keras + tensorflow —— 使用预训练模型
  9. numpy 辨异(四)—— np.repeat 与 np.tile
  10. C++基础——有关引用的问题