博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
压缩算法-哈夫曼编码
阅读量:3952 次
发布时间:2019-05-24

本文共 502 字,大约阅读时间需要 1 分钟。

压缩算法-哈夫曼编码

压缩算法顾名思义就是将大的文件压缩成小的文件

本文介绍一下常见的压缩算法—哈夫曼编码

哈夫曼编码

介绍之前得先了解两个基本的概念
哈夫曼树:哈夫曼树是一颗带权二叉树,且各节点得权值和最小

在这里插入图片描述

比如一串字符串以及他们得编码如下
编码:a:111 b:000 c:101 d:010
字符串:abacddd
编码后:111000111101010010010
长27

哈夫曼在编码的时候使用01

统计各个字符出现的次数,出现最多的就将它的位置放在最上面,这样编码下来就可以最大的节约空间,同时只有叶子节点才放字符,字符出现次数相同的放同一级,至于为什么是这样的结构请自行百度
在这里插入图片描述
根节点的0不需要
编码:d:0 a:10 b:110 c:111
编码后为:1011010111000
长度:13
可以看出节省的非常多使用这种编码就可以极大的节省存储空间

有的人就想问了这种不固定长度的编码会不会导致编码的干扰,这个编码的部分被判定到其他的部分中去了?

很明显不会

注意看这颗树,这个编码的前缀都是唯一确定的发现了吗,是没有重复的,前缀没有重复的就不会有干扰,一定会匹配到唯一的前缀

代码实现后补

转载地址:http://phrwi.baihongyu.com/

你可能感兴趣的文章
“需求为王”才是根本
查看>>
高效率的危害
查看>>
寻找边缘性创新
查看>>
让创意瞄准市场
查看>>
高效经理人应具有的八个重要习惯
查看>>
优秀的领导者能读懂人才
查看>>
大智若愚也是领导力
查看>>
android如何编译MTK的模拟器
查看>>
android如何添加AP中要使用的第三方JAR文件
查看>>
利用sudo命令为Ubuntu分配管理权限
查看>>
Ubuntu下几个重要apt-get命令用法与加速UBUNTU
查看>>
Ubuntu中网页各种插件安装命令
查看>>
使用tar命令备份Ubuntu系统
查看>>
ubuntu flash 文字乱码解决方案
查看>>
在ubuntu中运行exe文件
查看>>
ubuntu安装命令
查看>>
和上司沟通必备8个黄金句
查看>>
联系查看两张卡的未接电话记录
查看>>
Python 3 之多线程研究
查看>>
APP第三方登录实现步骤
查看>>