有趣的Huffman表白季(基础)

简介: 有趣的Huffman表白季(基础)


阅读本文需要3分钟



Huffman表白季:

      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

3

3

3

2

1

1

1

1

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,我要标上去记住,不然等下忘了就找不回来了:



岁月有你  惜惜相处

相关文章
|
2天前
|
存储 C++
【C++练级之路】【Lv.16】红黑树(冰与火的碰撞,红与黑的史诗)
【C++练级之路】【Lv.16】红黑树(冰与火的碰撞,红与黑的史诗)
|
6月前
|
C++ 容器
【C++从0到王者】第二十九站:二叉搜索树常见题
【C++从0到王者】第二十九站:二叉搜索树常见题
32 0
|
12月前
|
算法 C++ Python
【每日算法Day 68】脑筋急转弯:只要一行代码,但你会证吗?
【每日算法Day 68】脑筋急转弯:只要一行代码,但你会证吗?
|
机器学习/深度学习 安全
算法刷题第五天(跑路人笔记)<双指针>
算法刷题第五天(跑路人笔记)<双指针>
算法刷题第五天(跑路人笔记)<双指针>
|
机器学习/深度学习 Java
【蓝桥真题4】练练填空就想进国赛?拿下大题才能让你真正有底气(蓝桥31日冲刺打卡)(中)
【蓝桥真题4】练练填空就想进国赛?拿下大题才能让你真正有底气(蓝桥31日冲刺打卡)
213 0
【蓝桥真题4】练练填空就想进国赛?拿下大题才能让你真正有底气(蓝桥31日冲刺打卡)(中)
【蓝桥真题4】练练填空就想进国赛?拿下大题才能让你真正有底气(蓝桥31日冲刺打卡)(下)
【蓝桥真题4】练练填空就想进国赛?拿下大题才能让你真正有底气(蓝桥31日冲刺打卡)
129 0
|
机器学习/深度学习
【蓝桥真题4】练练填空就想进国赛?拿下大题才能让你真正有底气(蓝桥31日冲刺打卡)(上)
【蓝桥真题4】练练填空就想进国赛?拿下大题才能让你真正有底气(蓝桥31日冲刺打卡)
114 0
【蓝桥真题4】练练填空就想进国赛?拿下大题才能让你真正有底气(蓝桥31日冲刺打卡)(上)