找回密码
 立即注册
查看: 413|回复: 83

[技术交流] [参与有奖]给你一串编码,你有什么办法把他压到最短?【哈夫曼编码】

[复制链接]
发表于 2026-10-2 18:16:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 高山 于 2026-10-3 17:03 编辑


>>>如果你看不懂,推荐视频

*仅做优秀视频推荐,本版与该作者无任何利益关系。
给你一串编码

现在你要开始压缩它了
磁盘就那么点大,带宽就那么点贵

问:你要把它压到最短为止

你有多少种编码的方案呢?具体怎么编呢?
在评论区回复本问题可获得鱼币+5 荣誉+5 数量有限

(强烈建议所有鱼油先自己拿纸笔编一编,再看答案)

fig01_intro.png

【图 1】01 比特流穿过 Huffman 漏斗


各位鱼油大家好,今天这帖不灌水,咱们聊一个学数据结构的人谁都绕不开的东西——哈夫曼编码。

先别急着翻教材,咱们玩个游戏。

有一句话,ABRACADABRA(就是魔术师念的那句咒语),一共 11 个字母。要把它塞进计算机里:

最笨的办法,每个字母 8 个比特,11 × 8 = 88 个比特,这谁都知道是浪费;好一点的,这句话只用到 5 种字母,3 个比特就能区分 8 种符号,11 × 3 = 33 个比特。

还能再少吗?能,而且能压到 23 个比特。

更狠的是,有人从数学上证明了:这 11 个字母最少也得要 22.44 个比特(这个值叫熵,后面会讲)。也就是说 23 个比特几乎是贴着天花板走的,再压就是违反物理定律了。

这中间的魔法,是一个 1952 年、25 岁的博士生,在一篇只有四页纸的论文里给出的。

点评

大家有自己的思考欢迎发到「回帖」中,有奖励哦~  发表于 2026-10-2 18:23

评分

参与人数 6荣誉 +42 鱼币 +38 贡献 +37 C币 +20 收起 理由
Twilight6 + 6 + 6 + 6 鱼油人才济济啊~
魔女库伊拉 + 3 + 3 鱼C有你更精彩^_^
~风介~ + 5 + 3 + 5 这波必须支持一下!
梦想护卫舰官方 + 2 鱼C有你更精彩^_^
小甲鱼的二师兄 + 6 + 6 + 6 这波必须支持一下!
小甲鱼 + 20 + 20 + 20 + 20 知识偷偷进入了脑子……

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2026-10-2 18:22:41 | 显示全部楼层
运行截图.png
结果康这个↑
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

 楼主| 发表于 2026-10-2 18:38:39 | 显示全部楼层
@小甲鱼 @小甲鱼的二师兄 来康康我滴帖子!
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 1 踩 0

使用道具 举报

发表于 2026-10-2 20:59:19 | 显示全部楼层

回帖奖励 +6 鱼币

每个字符是一个叶子,顺着树杈找到叶子对吧

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +5 收起 理由
高山 + 5 + 5 + 5 这个观点好,必须安排!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

 楼主| 发表于 2026-10-2 21:04:33 | 显示全部楼层
丫丫的雅雅 发表于 2026-10-2 20:59
每个字符是一个叶子,顺着树杈找到叶子对吧

是滴,例如左0右1,就能对应唯一的子叶节点啦~
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

发表于 2026-10-2 22:53:11 | 显示全部楼层

回帖奖励 +6 鱼币

这个排版真的绝了!

我要好好向你学习!!

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +5 收起 理由
高山 + 5 + 5 + 5 来自鱼油的肯定,请查收~

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

 楼主| 发表于 2026-10-2 22:57:36 | 显示全部楼层
小甲鱼的二师兄 发表于 2026-10-2 22:53
这个排版真的绝了!

我要好好向你学习!!

哈哈哈谢谢,可以让AI给你一个排版规划,甚至直接生成discuz代码,会简单一些~
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

发表于 2026-10-3 14:58:46 | 显示全部楼层

回帖奖励 +6 鱼币

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2026-10-3 15:02:34 | 显示全部楼层

回帖奖励 +6 鱼币

不会
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2026-10-3 17:02:44 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2026-10-4 20:00:26 来自手机 | 显示全部楼层

回帖奖励 +6 鱼币

删掉
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2026-10-4 20:00:56 来自手机 | 显示全部楼层
厉害了我的哥有学到
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

发表于 2026-10-4 20:00:56 来自手机 | 显示全部楼层
不会
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2026-10-4 20:01:13 来自手机 | 显示全部楼层

回帖奖励 +6 鱼币

学到了学习啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

发表于 2026-10-4 20:02:27 来自手机 | 显示全部楼层

回帖奖励 +6 鱼币

这是论文啊我嘞个豆
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

发表于 2026-10-4 20:05:14 来自手机 | 显示全部楼层

回帖奖励 +6 鱼币

哇,太棒了,本来看课看的都看不懂了,现在还得看这个然后还让答题!?我不会

点评

可以看一下开头附上的视频奥!也能讲清楚的~  发表于 2026-10-4 21:07
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

发表于 2026-10-4 20:07:25 来自手机 | 显示全部楼层

回帖奖励 +6 鱼币

顺着树杈
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

发表于 2026-10-4 20:10:31 来自手机 | 显示全部楼层

回帖奖励 +6 鱼币

我表示看不懂唉
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

发表于 2026-10-4 20:15:15 | 显示全部楼层
学习数据结构,确实绕不开哈夫曼编码
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

发表于 2026-10-4 20:15:42 来自手机 | 显示全部楼层
哈夫曼编码,哈夫曼树,数据结构学过
小甲鱼最新课程 -> https://ilovefishc.com
回复 顶 踩

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|鱼C工作室 ( 粤ICP备18085999号-1 )

GMT+8, 2026-11-5 01:29

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表