前言
这是一个真实的故事,在笔者今年参加考研复试的时候,由于疫情原因是线上复试,但是一些流程还是没变的,机试+笔试完之后就是面试了。
然后就开始紧张的面试了,大家都知道面试在最开始就是英语部分,当老师说咱们开始英语口语,我把早已背的滚瓜烂熟的个人介绍藏在脑海中正准备一泄而出等待老师说"Please introduce yourself"的时候,事情突然发生反转,老师来了一句:"Do you know who won the Turing prize?". 我使劲皱着眉头假装自己很努力思考的样子(实际本来就不会嘛),说完还不忘用中文偷偷告诉我:图灵奖。我深沉的注视在场的面试官说了句:"Sorry, I don't know" (我只知道这个奖但我也不知道谁得过奖啊)。
老师说不要紧,再来一个:"Do you know who put forward the relational model of relational database?" ,我停顿半天皱着眉头假装没听清,老师直接说中文 "你知道关系数据库的关系模型谁提出的嘛?" 我眉头皱的更紧了,又说了句:"Sorry, I don't know" (这……)。
此时的我心情是觉得太倒霉了,咋问这个问题,不过还好后面老师问我加密算法有哪些,有一些爬虫的经验知道一些些加密算法我用英文踉踉跄跄的说了出来,并介绍了一些区别,还好后面回答的还行前面笔试机试也还行才很险的苟上岸。
最后老师说了一句关系模型的提出者也是图灵奖的获得者,我就很纳闷:"难道老师以为我知道谁提出关系模型但是不知道他拿过啥奖嘛!谁拿过图灵奖我不知道,谁提出关系模型我更不知道"!但我还是笑嘻嘻的和老师说道:"哈哈,这个触及到盲区了,回去了解一波" !不过具体了解没了解,你们都知道的。
什么是图灵奖
图灵奖(Turing Award),全称A.M. 图灵奖(A.M Turing Award),是由美国计算机协会(ACM)于1966年设立的计算机奖项,名称取自艾伦·麦席森·图灵(Alan M. Turing),旨在奖励对计算机事业作出重要贡献的个人 。图灵奖对获奖条件要求极高,评奖程序极严,一般每年仅授予一名计算机科学家。图灵奖是计算机领域的国际最高奖项,被誉为 "计算机界的诺贝尔奖"。
图灵奖一般在每年3月下旬颁发。从1966年至2019年,图灵奖共授予72名获奖者,以美国、欧洲科学家为主。据统计,截至2020年3月,世界各高校的图灵奖获奖人数依次为美国斯坦福大学(28位)、美国麻省理工学院(26位)、美国加州大学伯克利分校(25位)、美国哈佛大学(14位)和美国普林斯顿大学(14位)。
2000年,华人科学家姚期智(生于上海)获图灵奖,是华人第一次也是唯一一次获得图灵奖。
Codd博士与关系模型
当然短期内没了解谁拿过图灵奖(复试完该玩的玩、搞毕设的搞毕设、开黑的开黑),但是这毕竟是一道曾经的坎,过了比较久的时间还是不甘心,打开了百度搜索 关系数据库 关系模型 关键字找到了答案:
也从中找到了答案,顺便大家也科普一下:
1970年,IBM的研究员E.F.Codd博士发表《大型共享数据银行的关系模型》一文提出了关系模型的概念,论述了范式理论和衡量关系系统的12条标准,如定义了某些关系代数运算,研究了数据的函数相关,定义了关系的第三范式,从而开创了数据库的关系方法和数据规范化理论的研究,他为此获得了1981年的图灵奖。
后来Codd又陆续发表多篇文章,奠定了关系数据库的基础。关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。但是当时也有人认为关系模型是理想化的数据模型,用来实现DBMS是不现实的,尤其担心关系数据库的性能难以接受,更有人视其为当时正在进行中的网状数据库规范化工作的严重威胁。为了促进对问题的理解,1974年ACM牵头组织了一次研讨会,会上开展了一场分别以Codd和Bachman为首的支持和反对关系数据库两派之间的辩论。这次著名的辩论推动了关系数据库的发展,使其最终成为现代数据库产品的主流。
教你们一招:以后面试官问你熟悉关系数据库(MySQL)吗,你就往Codd博士 扯上一波,然后歌颂一波它的简要事迹再说他在1981年因为在关系数据库理论的研究获得图灵奖,并带上一脸赞叹和仰慕的表情。面试官肯定感觉不错:这小伙子底子可以啊,态度也挺好的,加分加分!不出意外稳妥拿到offer概率大大增加!(如果这招有用记得回来三连一波)。
算法大家与图灵奖
Dijkstra(迪科斯彻)
虽然心中图灵奖的获得者盲区已经打破,但是肯定止不住好奇去翻翻哪些人得了图灵奖,看了一下大部分都是人工智能数学领域还有一部分就是偏底层或者数据库相关都是陌生而难记的面孔,我有些失望。但突然找到一个熟悉的面孔:Dijkstra
哇,这个算法不是我们上数据结构与算法图论中必学的嘛,图论算法掐指可数,Dijkstra、prim、floyed再加上经典的dfs和bfs嘛!我兴致勃勃的点开Dijkstra大佬的介绍,Dijkstra大佬被称为结构程序设计之父 ,他有以下的成就:
知晓的:goto有害论(耳熟);第一个Algol 60编译器的设计者和实现者(厉害啊);THE操作系统的设计者和开发者(真大佬啊!);
熟悉的:Dijkstra最短路径算法(以它而闻名);银行家算法的创造者; 解决了“哲学家聚餐”问题;提出信号量和PV原语;
此时的我已经很震惊了,我知道pv信号量和原语,也知道银行家算法,哲学家进餐问题都是操作系统很经典的问题,没想到都是Dijkstra大佬提出和发现的,真的强强强!并且Dijkstra和与D. E. Knuth并称为我们这个时代最伟大的计算机科学家的人。
Floyd(弗洛伊德)
Dijkstra是经典的单源求最短路径,而与之对应很流行的多源最短路径算法—Floyd(弗洛伊德)算法,该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。此外在算法方面,弗洛伊德(Floyd)和威廉姆斯(J.Williams)在1964年共同发明了著名的堆排序算法heapSort(笔者前几天刚写的竟然没发现)!
Hoare(霍尔)
谈起排序,那快排肯定不可缺少啊,霍尔爵士(英国计算机科学家)就是快速排序的发明者,巧的是霍尔爵士在1980年获得图灵奖。
Niklaus Wirth(沃斯)
凭借一句话获得图灵奖的Pascal之父——Niklaus Wirth(沃斯) ,让他获得图灵奖的这句话就是他提出的著名公式:"算法+数据结构=程序" ,作为程序员,上大学第一节c语言或者数据结构与算法课堂的时候我们就听老师讲过这句话。这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦的“E=MC^2”—一个公式展示出了程序的本质。
结语
通过一件小事发现了有趣的联系。都有着共同的联系—图灵奖,在以前,我的认知是这样的:
通过本篇的整理和学习,现在对一些知识有着更条理化的认识:
当然,图灵奖的得主非常多,每位得奖主都是了不起的人才,都是我辈楷模,这里仅列举所联系到、熟悉和数据结构与算法相关的得奖主,其他的就不一一列举啦!
虽然这并不是一件非常大的事情,源于复试的一个提问,但通过后来的查找总让我对熟悉的算法和人物有着焕然一新的感觉:原来还是这样啊! 而生活中、工作中、再或学习中有很多类似的地方,我们可能只差一步就能发现更多、建立更多有效的联系以及知识体系结构。而我们常常都是浮于表面,希望在日后的学习生活中能与大家同作一个有心人。
最后给你一个问题,你知道图灵奖杯🏆为什么是个银碗嘛?
原创不易,bigsai请你帮两件事帮忙一下:
一键三联、分享支持一下, 您的肯定是我创作的源源动力。
微信搜索「bigsai」,关注我的公众号,不仅免费送你电子书,我还会第一时间在公众号分享知识技术。加我还可拉你进力扣打卡群一起打卡LeetCode。
记得关注、咱们下次再见!