哈夫曼编码

        编码是计算机中最基础的知识,编码有很多种方式,整数用二进制形式存储,有一种编码叫等长码,每一个字符用asll码来编码,若一篇文章有1000个字符,就是7000位来进行编码。一个字节八位,一个ASCLL码是7位二进制数,一个ascll码在计算机中用一个字节来存储,最高位是。.每个字符在计算机里面都是由一个字节存储,一个字节占八位。

假如有一篇文章里面有58个字符,不重复的有7个字符,现在将文章存入计算机。下面有三种方式去编码

1)用等长ascll编码:58*8=24(bit)

2)用等长2位编码:58*3=6(bit)

3)用变长,三个字符中,出现次数多的编码短一点,出现次数少的编码长一点

变长编码就采用最短编码哈夫曼编码,哈夫曼编码每次采用集合中权重最小的两个组成左右叶子节点,之和为根节点。7个字符为叶子节点,编码后

代价=叶子节点值*树的深度

叶子节点值=每个字符出现的次数

树的深度=编码时比较的次数

字符哈夫曼树左树枝编码为0,右树枝编码为1,每个不同字符的编码为他父节点的树枝拼起来。

哈夫曼树可以用有层次的多条if语句的例子,来体验哈夫曼树的应用   。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值