哈夫曼编码简记

哈夫曼编码简记,第1张

哈夫曼编码简记

我们要传输一条数据

i like like like java do you like a java //共40个字符

通过Ascii码将其转化为对应的二进制形式

按照二进制来传递数据,总长度为359(包括空格)

通常我们不会这么去做,主要是因为我们要传输的数据太长了,很不划算

2)变长编码

我们要传输一条数据:

i like like like java do you like a java //共40个字符

统计各个字符出现的次数

d:1 , y:1 , u:1 , j:2 , v:2 , o:2 , l:4 , k:4 , e:4 , i:5 , a:5 , :9

进行编码格式转化

0 = 1 = a 10 = i 11 = e 100 = k 101 = l 110 = o 111 = v 1000 = j 1001 = u 1010 = y 1011 = d

说明:按照各个字符出现的次数进行编码,原则是出现次数越多,则编码越小,比如空格出现了9次,编码为0,其他依次类推

按照上边给各个字符规定的编码,则我们在传输 i like like like java do you like a java 数据时,编码是

10010110100....

注意:当我们以这样的形式发送数据的时候,接收方接受到数据后并不能很好的识别我们这个编码。

比如 i 是 10

k 是 100

我们读取到前边的 100 的时候可以认为是 10 和 0 也可是100存在歧义

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4693680.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-07
下一篇2022-11-07

发表评论

登录后才能评论

评论列表(0条)

    保存