Huffman表白季(大话Huffaman编码)

       Huffman身为一名成功的码农,1024过去了还单着身,他想打破这一科学道理,因此今天他想对他的梦中情人表白:我爱你,我很爱你,我非常爱你。为了展现他表白的诚意,他想用最快的速度进行表白。

       Huffman:在网络传输中字符需要转化为计算机看得懂的东西(就是0和1啦),就是这一串神奇的数字:


11000100001000111100100011000110011110110000011111111000011001100010000100011011111100010001110010001100011001111011000001111111100001100110001000010001100101110101111010111100011100011100100011000110011110110000011000000000010


Huffman打算把这个由227个1或0组成的数字缩短:

       1,统计重复出现的数的次数:我出现了3次,爱出现的3次,。出现了1次。Huffman就画出这样一个表,做出了这些积木,每一块积木有字符和他们出现的次数:

 

出现的字符

出现的次数

 

3

3

3

1

1

1

2

1

 

2Huffman只会从小到大排序和两个数两个数的相加

       Huffman:老规矩,先从小排到大:

 

出现的字符

出现的字数

3

3

3

2

1

1

1

1

 

Huffman:最小的相加:(常+。)=2,拿块2的积木压上去,从小到大排好:

 

出现的字符

出现的字数

3

3

3

2

(常+。)

2

1

1

 

 Huffman:最小的相加(很+非)=2,排好序

出现的字符

出现的字数

3

3

3

2

(常+。)

2

(很+非)

2

Huffman:最小的相加((常+。)+(很+非))=4 排好序:

出现的字符

出现的字数

(常+。)+(很+非)

4

3

3

3

2

Huffman:忙完了,积木长这样:

       Huffman:每个积木的左下那个积木为0,右下那个积木为1,我要标上去记住,不然等下忘了就找不回来了:

Huffman:这样看的话 你就是000,常就是0101,我就是10,写到表里记住:

出现的字符

出现的次数

积木的位置

3

10

3

11

3

000

1

0110

1

0111

1

0101

2

001

1

0100

       Huffman:我爱你,我很爱你,我非常爱你。这段字按这个表来写的话就短很多了,我就能早一秒表白了:


101100000110011011000001100111010111110000100


       Huffman:45个而已,我这么聪明的人怎么可能没人要?这个编码就叫Huffman编码吧,纪念我这么聪明的人,这个表格就叫Huffman编码表把。

       粗心Huffman就把这段经过Huffman编码的数字放在底层数据包中发送给他的梦中情人了,但是他忘记把Huffman编码也放在数据包中。

       梦中情人QQ邮箱:您收到来自Huffman的一封情书,内容为:°fÁ|


 

       梦中情人:????

       Huffman继续单身。。。。。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值