1. 程式人生 > >經驗分享|原來這些圖靈獎巨匠就藏在身邊

經驗分享|原來這些圖靈獎巨匠就藏在身邊

## 前言 >微信搜一搜:**bigsai** 文章收錄在[github](https://github.com/javasmall/bigsai-algorithm) 歡迎star **這是一個真實的故事**,在筆者今年參加考研複試的時候,由於疫情原因是線上複試,但是一些流程還是沒變的,機試+筆試完之後就是面試了。 然後就開始緊張的面試了,大家都知道面試在最開始就是英語部分,當老師說咱們開始英語口語,我把早已背的滾瓜爛熟的個人介紹藏在腦海中正準備一洩而出等待老師說"Please introduce yourself"的時候,事情突然發生反轉,老師來了一句:**"Do you know who won the Turing prize?**". 我使勁皺著眉頭假裝自己很努力思考的樣子(實際本來就不會嘛),說完還不忘用中文偷偷告訴我:圖靈獎。我深沉的注視在場的面試官說了句:**"Sorry, I don't know"** (我只知道這個獎但我也不知道誰得過獎啊)。 ![img](https://img-blog.csdnimg.cn/img_convert/7862d0d54442c3bcbef113c7f026d53f.png) 老師說不要緊,再來一個:**"Do you know who put forward the relational model of relational database?"** ,我停頓半天皺著眉頭假裝沒聽清,老師直接說中文 **"你知道關係資料庫的關係模型誰提出的嘛?"** 我眉頭皺的更緊了,又說了句:**"Sorry, I don't know"** (這……)。 ![image](https://img-blog.csdnimg.cn/img_convert/fdeb135bb799827a7f81c43b865e1c8c.png) 此時的我心情是覺得太倒黴了,咋問這個問題,不過還好後面老師問我加密演算法有哪些,有一些爬蟲的經驗知道一些些加密演算法我用英文踉踉蹌蹌的說了出來,並介紹了一些區別,還好後面回答的還行前面筆試機試也還行才很險的**苟上岸。** 最後老師說了一句關係模型的提出者也是圖靈獎的獲得者,我就很納悶:"難道老師以為我知道誰提出關係模型但是不知道他拿過啥獎嘛!誰拿過圖靈獎我不知道,誰提出關係模型我更不知道"!但我還是笑嘻嘻的和老師說道:**"哈哈,這個觸及到盲區了,回去瞭解一波"** !不過具體瞭解沒了解,你們都知道的。 ## 什麼是圖靈獎 圖靈獎(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博士與關係模型 當然短期內沒了解誰拿過圖靈獎(複試完該玩的玩、搞畢設的搞畢設、開黑的開黑),但是這畢竟是一道曾經的坎,過了比較久的時間還是不甘心,打開了百度搜索 **關係資料庫 關係模型** 關鍵字找到了答案: ![image-20201123232045317](https://img-blog.csdnimg.cn/img_convert/3afa8613c8f5e4c000a56f46fb042755.png) 也從中找到了答案,順便大家也科普一下: 1970年,IBM的研究員**E.F.Codd博士**發表《大型共享資料銀行的關係模型》一文提出了關係模型的概念,論述了正規化理論和衡量關係系統的12條標準,如定義了某些關係代數運算,研究了資料的函式相關,定義了關係的第三正規化,從而開創了資料庫的關係方法和資料規範化理論的研究,**他為此獲得了1981年的圖靈獎。** 後來Codd又陸續發表多篇文章,奠定了關係資料庫的基礎。關係模型有嚴格的數學基礎,抽象級別比較高,而且簡單清晰,便於理解和使用。但是當時也有人認為關係模型是理想化的資料模型,用來實現DBMS是不現實的,尤其擔心關係資料庫的效能難以接受,更有人視其為當時正在進行中的網狀資料庫規範化工作的嚴重威脅。為了促進對問題的理解,1974年ACM牽頭組織了一次研討會,會上開展了一場分別以Codd和Bachman為首的支援和反對關係資料庫兩派之間的辯論。這次著名的辯論推動了關係資料庫的發展,使其最終成為現代資料庫產品的主流。 **教你們一招**:以後面試官問你熟悉關係資料庫(MySQL)嗎,你就往**Codd博士** 扯上一波,然後歌頌一波它的簡要事蹟再說他在1981年因為在關係資料庫理論的研究獲得圖靈獎,並帶上一臉讚歎和仰慕的表情。面試官肯定感覺不錯:這小夥子底子可以啊,態度也挺好的,加分加分!不出意外穩妥拿到offer概率大大增加!(如果這招有用記得回來三連一波)。 ## 演算法大家與圖靈獎 #### Dijkstra(迪科斯徹) 雖然心中圖靈獎的獲得者盲區已經打破,但是肯定止不住好奇去翻翻哪些人得了圖靈獎,看了一下大部分都是人工智慧數學領域還有一部分就是偏底層或者資料庫相關都是陌生而難記的面孔,我有些失望。但突然找到一個熟悉的面孔:Dijkstra ![image-20201124205039288](https://img-blog.csdnimg.cn/img_convert/65bff193d281509df7ca01ecade87589.png) 哇,這個演算法不是我們上資料結構與演算法圖論中必學的嘛,圖論演算法掐指可數,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”—一個公式展示出了程式的本質。 ## 結語 通過一件小事發現了有趣的聯絡。都有著共同的聯絡—圖靈獎,在以前,我的認知是這樣的: ![image-20201126195319305](https://img-blog.csdnimg.cn/img_convert/f7325e1b63679f5d4fef0268500980e4.png) 通過本篇的整理和學習,現在對一些知識有著更條理化的認識: ![image-20201130170148223](https://img-blog.csdnimg.cn/img_convert/36f7f70bb37af781b27562dd3b53748d.png) 當然,圖靈獎的得主非常多,每位得獎主都是了不起的人才,都是我輩楷模,這裡僅列舉所聯絡到、熟悉和資料結構與演算法相關的得獎主,其他的就不一一列舉啦! 雖然這並不是一件非常大的事情,源於複試的一個提問,但通過後來的查詢總讓我對熟悉的演算法和人物有著煥然一新的感覺:**原來還是這樣啊!** 而生活中、工作中、再或學習中有很多類似的地方,我們可能只差一步就能發現更多、建立更多有效的聯絡以及知識體系結構。而我們常常都是浮於表面,希望在日後的學習生活中能與大家同作一個**有心人**。 **最後給你一個問題,你知道圖靈獎盃