這本書會是你在演算法分析道路上最好的養料
演算法對於我們的世界是多麼重要。自電腦科學誕生之日起,關於演算法的研究就一直是一個核心話題。
現代電腦科學中充滿了各種各樣的演算法,許多圖靈獎得主也正是因提出的各種經典演算法而聞名於世。例如:
- 提出單源最短路徑演算法的迪可斯特朗(Edsger Dijkstra,1972年圖靈獎得主)
- 提出字串匹配演算法的高德納(Donald Knuth,1974年圖靈獎得主)
- 提出多源最短路徑演算法的弗洛伊德(Robert Floyd,1978年圖靈獎得主
- 提出快速排序演算法的霍爾(Antony Hoare,1980年圖靈獎得主)
- ……
這其中不得不提一個人——高德納,他是最年輕的圖靈獎得主紀錄保持者(獲獎時年僅36歲),以計算機演算法設計與分析領域經典鉅著The Art of Computer Programming(《計算機程式設計藝術》)而廣為人知。
高德納 (Donald Knuth)
The Art of Computer Programming
作為導師,高德納一生共指導過28位博士生,而其中一位就是名滿江湖的演算法寶紅書Algorithms (4th edition)作者羅伯特·塞奇威克(Robert Sedgewick)。
羅伯特·塞奇威克(Robert Sedgewick)
塞奇威克曾經是普林斯頓大學電腦科學系的創立者暨首任系主任,他同時還是著名的Adobe公司的董事。作為一位世界知名的電腦科學家,塞奇威克於1997年當選ACM(Association for Computing Machinery,國際計算機學會)院士,並因從“對稱二叉樹”中匯出了紅黑樹而享譽計算機界。
(圖片來自維基百科)
塞奇威克與摯友費利佩·弗拉若萊(Philippe Flajolet,被稱為“分析組合學之父”)曾合作撰寫過數本演算法分析領域的著作,其中就包括這部在全世界範圍內廣泛流傳的經典之作An Introduction to the Analysis of Algorithms(《演算法分析導論》)。
An Introduction to the Analysis of Algorithms
演算法分析的概念其實既不晦澀也不復雜,本書全面系統地介紹了演算法分析中需要使用的基本技術,所涉及的內容既來自包括離散數學、組合數學、概率論等在內的經典數學問題,也有來自演算法及資料結構等電腦科學問題。像遞迴、母函式、樹形結構、字串、對映以及雜湊等演算法分析話題均有討論。可以說本書是一本研究演算法分析的權威之作。
作為行業代表著作,高德納大師在此書的序言中稱讚道:
“Sedgewick和Flajolet不僅是演算法分析領域的專家,同時也是演算法分析的佈道大師。我堅信,這本書會讓每一位細細品讀的計算機研究人員從中獲益。”
可惜,天妒英才,2011年3月,休假期間的塞奇威克驚悉多年的老友弗拉若萊突然離世。悲痛萬分的塞奇威克懷著對逝者的無限緬懷寫了感人至深的悼詞:“弗拉若萊的離世意味著很多祕密再也無法揭開。但他給世人留下了很多追隨他腳步的繼承者,他們可再續他的數學夢想。”在這樣的背景下,塞奇威克以極大的熱情投入工作,歷經數百個日夜,終於在2012年10月將本書的第2版付梓。
An Introduction to the Analysis of Algorithms,2E
第 2 版不僅對書中圖片和程式碼進行了更新,還補充了新章節。塞奇威克堅信弗拉若萊的精神會在後來人的工作中得到永生,進而希冀本書讀者能夠循著弗拉若萊的腳步,繼續追求他的數學夢想。
如今本書中文版《演算法分析導論(第2版)》已出版上市,全書共 9 章,第 1 章是導論;第 2~5 章介紹數學方法;第 6~9 章介紹組合結構及其在演算法分析中的應用。除每章包含的大量習題以及參考文獻外,本書還特設配套免費學習網站,為讀者提供了很多關於演算法分析的補充材料,包括課件和相關網站的連結,幫助讀者提高學習興趣,完成更深入的學習,感興趣的讀者。
- 演算法分析是推動現代計算基礎技術發展的重要力量,本書囊括眾多演算法分析的應用例項。
- 無數人對從數學角度分析演算法產生興趣,但很難學到相關方法和模型,本書完整介紹該領域主要技術和成果。
- 作者既精通經典數學又熟諳電腦科學,看重用於演算法效能預測的數學基礎及從效能角度比較演算法。
- 天才般貫通與揭露數學世界的離散數學|分析組合學|實分析與電腦科學領域的演算法|資料結構之奧義。
本書京東有售:http://item.jd.com/12481322.html
我們希望自圖靈以來的演算法研究能夠在更寬闊的範圍內,被更光大地發揚,尤其希望中國的計算機科研人員能夠從本書中找到啟迪研究工作的智慧。同時,也希望通過本書向神交已久的兩位大師——弗拉若萊和塞奇威克送上最崇高的敬意。
— — 譯者序
相關文章
- 學軟體測試最好的幾本書,這8本書能幫你很多
- 你現在應該閱讀的7本最好的深度學習書籍深度學習
- 這10本書,給你一次徹底學會自動化測試的機會!
- 集20年之大成,這是一本開源的演算法教科書演算法
- 學習Python程式設計的最好的幾本書Python程式設計
- 這可能是你見過最好的工程師繪圖指北工程師繪圖
- 為什麼現在演算法工程師薪酬這麼高?演算法工程師
- 如果你是老闆,你會不會踢了這樣的員工?
- 學會用這些“套路”,你才算資料分析師
- 躁動不安的年代,你需要讀幾本好書(python爬蟲及資料分析)Python爬蟲
- 這可能是一年中進阿里最好的機會了阿里
- 你會如何改進這個演算法?演算法
- 數學期望在演算法中的應用演算法
- 你需要會的ansible-playbook劇本這6種變數變數
- 大資料學習書籍 這幾本書一定要看大資料
- Java在演算法題中的輸入問題Java演算法
- 這十五本Python書籍!是每個程式設計師必備的!Python程式設計師
- 原來你是這樣的Websocket--抓包分析Web
- 這20個Docker Command,有幾個是你會的?Docker
- 別找了 這就是適合入門的第一本演算法書演算法
- 如果早點遇到這本書……
- 這可能是最好的效能優化教程(三)優化
- 憑什麼說這是前端最好的時代?前端
- 這是考11g OCP最好的時期
- 想學習資料結構和演算法,推薦給你 10 本優質書單資料結構演算法
- 容器技術實踐,這本書幫你“盤”明白!(文末有彩蛋)
- 這是我讀過寫得最好的【秒殺系統架構】分析與實戰!架構
- 也許,你與解題高手之間的距離,差的可能就是這本書!
- 關於Python的一切:2018年,你讀這8本書就夠了Python
- 雲和恩墨蓋國強:2020,這是資料庫最好的時代!資料庫
- 行,這本 Python 書徹底火了!Python
- 做大資料分析的怎麼可以不會這個?大資料
- 在演算法分析中,複雜度和階,這兩個概念分別表示什麼?它們之間存在怎樣的關係?演算法複雜度
- 為什麼SOLIDWORKS Flow Simulation是最好的熱分析工具Solid
- [這可能是最好的Spring教程!]JDBC中資料庫的連線與查詢SpringJDBC資料庫
- 期待已久!鄧力、劉洋等合著的這本NLP書你確定不想看?
- 優秀的資料分析師是這樣煉成的
- 怎麼給爸媽養老最好?