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



岁月有你  惜惜相处

相关文章
|
12月前
日拱一卒,月进一步(6)(杨辉三角2)
119. 杨辉三角 II - 力扣(LeetCode)
75 0
七夕,你们还在用传统的方式进行表白?
七夕,你们还在用传统的方式进行表白?
117 0
剑指Offer - 面试题14:剪绳子
剑指Offer - 面试题14:剪绳子
145 0
【寒假每日一题】AcWing 4261. 孤独的照片(补)
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解
100 0
来自猫猫的深情告白--基于PaddleGAN精准唇形合成模型实现光棍节猫猫表白视频
来自猫猫的深情告白--基于PaddleGAN精准唇形合成模型实现光棍节猫猫表白视频
382 0
来自猫猫的深情告白--基于PaddleGAN精准唇形合成模型实现光棍节猫猫表白视频
七夕来临,程序员该如何花式表白?html+css实现简单七夕表白
文章目录 1 效果展示 2 源码及环境 3 浅谈七夕 3.1 七夕由来 3.2 七夕风俗
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十题-高频数据类型
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十题-高频数据类型
116 0
#yyds干货盘点# 前端歌谣的刷题之路-第一百一十题-高频数据类型
集合很简单?开什么玩笑?肝了一周,全是精华,万字讲解,面试再不怕集合问题了
ArrayList 是容量可变的⾮线程安全列表,使⽤数组实现,集合扩容时会创建更⼤的数组,把原有数组复制到新数组。⽀持对元素的快速随机访问,但插⼊与删除速度很慢。ArrayList 实现了 RandomAcess 标记接⼝,如果⼀个类实现了该接⼝,那么表示使⽤索引遍历⽐迭代器更快。
143 0
集合很简单?开什么玩笑?肝了一周,全是精华,万字讲解,面试再不怕集合问题了
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等