赫夫曼编码图解

基本介绍

  1. 赫夫曼编码也翻译为 哈弗曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,属于一种程序算法
  2. 赫夫曼编码是赫夫曼树在电讯通信中的经典应用之一
  3. 赫夫曼编码广泛地用于数据文件压缩,其压缩率通常在20%~90%之间
  4. 赫夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出的一种编码方式,称之为最佳编码

思想图解

  • 赫夫曼编码的目的是数据压缩,加密解密,将出现频率低的放在二叉树的最下面一层,从而使频率高的能被更快地找到,实现数据压缩的功能
  • 假设字符a,b,c,d,e对应出现的频率为4, 6, 11, 13, 15
  • 主要编码过程
  1. 将字符按出现频率排好序
  2. 先取两个最小(a,b)作为一个新节点n1的两个子节点,相对较小的是左子树,新节点的频率就是a,b两个频率的相加,即4+6=10,然后将新节点n1替换a,b插入有序序列,整个序列就是{n1,c,d,e}
  3. 然后再取出最小的两个节点(n1,c),产生的新节点n2的频率10+11=21,继续替换n1,c插入有序序列,{d,e,n2}
  4. 然后再取最小的两个节点(d,e),产生的新节点n3的频率为13
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值