90 岁程序员,他的压缩算法改变了世界!

1977 年,来自以色列的 Jacob Ziv 和 Abraham Lempel 两位技术大神打破传统的设计思想,创造出一种哈夫曼编码更有效的压缩算法,并以两个人名字来命名。

同时,他们还发表了一篇名为《A Universal Algorithm for Sequential Data Compression》(顺序数据压缩的一个通用算法的论文:

https://www2.cs.duke.edu/courses/spring03/cps296.5/papers/ziv_lempel_1977_universal_algorithm.pdf

推荐一个 Spring Boot 基础教程及实战示例:

https://www.javastack.cn/categories/Spring-Boot/

揭晓了独创的 LZ77 算法,这也是第一个使用字典来压缩数据的算法。另外,Java 系列面试题和答案全部整理好了,微信搜索Java技术栈,在后台发送:面试,可以在线阅读。

e15eac5d51c5bb3b2adae63cc0293170.png

次年,Jacob Ziv 和 Abraham Lempel 再次发表一篇改进版的论文(《Compression of Individual Sequences via Variable Rate Coding》),并带来了 LZ78 的压缩算法。与 LZ77 不同,LZ78 解析输入数据,生成一个静态字典,不像 LZ77 动态产生。该算法成为 80 年代初使用的 Unix 压缩程序的基础;影响了 90 年代的 WinZip 和 Gzip,为 GIF、TIFF 图片格式的开发带来了一定的指引。

如果没有这些算法的存在,现在的我们不一定能够使用更为便捷的网络就可以发送大型数据文件,或还停留在将大型数据文件拷贝到光盘上进行传输时代;听音乐时,还有可能需要 CD 而不是通过流式传输…

2、Ziv 的过往经历


这一切都需要感谢 Jacob Ziv 和 Abraham Lempel。

“LZ 算法是第一个成功的通用压缩算法”,一位支持 Ziv 获奖的工程师如是说。这些算法以及 Jacob Ziv 对它们的分析,为后续关于通用算法的大多数工作奠定了基础。

回顾 Ziv 的过往经历,其跨越了半个世纪,将自己全身心地投入到压缩算法领域中。

1931 年,出生在当时由英国统治的巴勒斯坦城市 Tiberias(现属于以色列)的 Ziv,在很小的时候,Ziv 就对电力和电子产品有着浓厚的兴趣,譬如,在练习小提琴的时候,他会尝试把乐谱架变成一盏灯。此外,他还试图用钢琴弹奏的金属零件制作一个马可尼发射机。

1948 年,第一次阿以战争爆发时他在读高中,后来被征召到前线短暂地服过役。由于一群母亲组织抗议,他才从前线回到了后方,在空军受训担任雷达技师。战争结束后,他进入以色列理工学院学习电气工程。

在 1955 年完成硕士学位后,Ziv 重返国防界,并加入了以色列国防研究实验室(现为拉斐尔先进防御系统),开发用于导弹和其他军事系统的电子元件。

1959 年,Ziv 被选为以色列国防实验室为数不多的出国留学的研究人员之一。那时,Ziv 计划继续从事通信工作,但他不再只对硬件感兴趣。偶然机遇之下,他阅读了《信息理论》(Prentice-Hall,1953年)的书籍,他决定将信息理论作为他关注的焦点。然而,除了麻省理工学院之外,还有什么地方可以研究信息理论呢?

当然还是麻省理工!于是,1960 年,Ziv 进入 MIT 读博,在信息理论方面深造,在毕业返回以色列后进入了国防部担任通信部门主管。

1968 年,他返回美国,进入了贝尔实验室。

两年后,Ziv 和几个同事一起加入了以色列理工学院。就是在这里,他遇到了 Abraham Lempel,两个人共同讨论了如何改进无损数据压缩。

Ziv 和 Lempel 都想知道他们是否可以开发一种无损数据压缩算法,该算法适用于任何类型的数据,不需要预处理,并且能够实现数据的最佳压缩,这个目标被称为 Shannon 熵的对象定义。在设想时,他们并不清楚是否可以实现他们的目标。于是,他们决定找出答案。

在深入研究几年后,随着 LZ77 和 LZ78 的出现,代表了其研究成功。Ziv 和 Lempel 开创了通用源编码,一系列无需知道固有信息压缩数据的算法,减少了从不失真和失真数据重建图像所需的数据率。

对此,斯坦福大学从事信息理论的电气工程教授 Tsachy Weissman 表示:“在他们发表作品时,算法清晰优雅,易于实现,计算复杂度低,这一事实几乎无关紧要。更多的是关于理论结果,为接下来的研究带来重要意义。”

另外,Ziv 还促成了错误校正代码的低计算复杂性解码理论。并于:

如今,凭借「其对信息理论和数据压缩技术的重要贡献和杰出的研究领导地位」,被授予 2021 年度 IEEE 荣誉勋章,可谓实至名归,向依旧奋战在研究一线的前辈致敬!另外,关注公众号Java技术栈,在后台回复:面试,可以获取我整理的 Java 系列面试题和答案,非常齐全。

参考:

https://spectrum.ieee.org/the-institute/ieee-member-news/ieee-medal-of-honor-goes-to-data-compression-pioneer-jacob-ziv

https://spectrum.ieee.org/geek-life/profiles/from-winzips-to-cat-gifs-jacob-zivs-algorithms-have-powered-decades-of-compression

整理 | 苏宓

出品 | CSDN(ID:CSDNnews)

dbce3f9ba8d3953aeffd4dda70b2e1f2.gif

6db4f2265b45c8fcb5ca2ddbba2e5c77.png

9aa2d8516ee746497d628dc2d9c0df44.png

c0db10a318b0026893816acafaebc428.png
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)

最后

在面试前我整理归纳了一些面试学习资料,文中结合我的朋友同学面试美团滴滴这类大厂的资料及案例

MyBatis答案解析
由于篇幅限制,文档的详解资料太全面,细节内容太多,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

大家看完有什么不懂的可以在下方留言讨论也可以关注。

觉得文章对你有帮助的话记得关注我点个赞支持一下!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
,每个小节点里面都有更细化的内容!**

大家看完有什么不懂的可以在下方留言讨论也可以关注。

觉得文章对你有帮助的话记得关注我点个赞支持一下!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值