当前位置: 首页 > article >正文

【恋上数据结构】哈夫曼树学习笔记

哈夫曼树

哈夫曼编码(Huffman Coding)

哈夫曼编码,又称为霍夫曼编码,它是现代压缩算法的基础

假设要把字符串 [ABBBCCCCCCCCDDDDDDEE] 转成二进制编码进行传输。

可以转成 ASCII 编码 (6569,10000011000101) ,但是有点冗长,如果希望编码更短呢?

可以先约定好字符串中的 5 个字母对应的二进制,如下所示

在这里插入图片描述

如果使用哈夫曼编码,可以压缩至 41 个二进制位,约为原来长度的 68.3%

哈夫曼树

在这里插入图片描述

构建哈夫曼树

在这里插入图片描述

构建哈夫曼编码

如何求得 5 个字母对应的哈夫曼编码?

  • 从根节点开始,以 left 为 0,right 为 1 开始往下一个节点一个节点的数,即可得出。

ght 为 1 开始往下一个节点一个节点的数,即可得出。

在这里插入图片描述


http://www.kler.cn/news/156561.html

相关文章:

  • 全新仿某度文库网站源码/在线文库源码/文档分享平台网站源码/仿某度文库PHP源码
  • 在java中如何解决in unnamed module @0x602ff1d9得问题
  • vGPU_unlock实现消费级显卡虚拟化
  • 分享76个节日PPT,总有一款适合您
  • n皇后问题的最优解及优化
  • 国内的几款强大的AI智能—AI语言模型
  • ES6 generator Symbol yield
  • SpringBoot application.yml配置文件写法
  • homeassistant 随笔
  • java开发之个微机器人的实现
  • 面试题:MySQL为什么选择B+树作为索引结构
  • 135. 分发糖果
  • Linux结束程序运行的命令
  • GPIO的使用--存储系统与位带操作理解
  • 免费AI洗稿软件【2023最新】
  • 【JavaEE】多线程 (2) --线程安全
  • Elasticsearch 相似度评分模型介绍
  • JVM 运行时内存篇
  • ubuntu使用SSH服务远程登录另一台设备
  • 并发编程笔记
  • qiankun: 关于ElementUI字体图标加载不出来的问题
  • C++ Easyx 让圆球跟随鼠标移动
  • 【Node.js】解决npm报错:RequestError: unable to verify the first certificate
  • 手动安装配置dapr环境
  • 人工智能发展史
  • 算法leetcode|91. 解码方法(rust重拳出击)
  • 网易区块链,网易区块链赋能赣州脐橙数字藏品,数字指纹解决方案
  • 【Altera】Cyclone10 FPGA DDR3使用
  • 预约系统源码解析:打造智能定制化预约服务的技术奇迹
  • SQL Sever Unicode字符串简单介绍