|
Pascal 之父 Nicklaus Wirth 曾說:“程序=數(shù)據(jù)結(jié)構(gòu)+算法?!?nbsp; 在《算法(第4版)》中,作者也說過:“數(shù)據(jù)結(jié)構(gòu)和算法的學(xué)習(xí)是計算機科學(xué)和軟件工程領(lǐng)域的基礎(chǔ),它們對于解決實際問題和優(yōu)化程序性能至關(guān)重要?!?/span> 數(shù)據(jù)結(jié)構(gòu)與算法的重要性不言而喻,對于計算機專業(yè)的學(xué)生,更是不陌生。作為兩門必學(xué)的課程,如果有同學(xué)立志做好技術(shù),那數(shù)據(jù)結(jié)構(gòu)與算法的學(xué)習(xí)是怎么都繞不開的坎。 隨手搜索知乎,還是有不少人提問:“如何系統(tǒng)地學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法?”“如何在最短時間內(nèi)搞定數(shù)據(jù)結(jié)構(gòu)與算法,應(yīng)付面試?”甚至有人問出:“數(shù)據(jù)結(jié)構(gòu)與算法學(xué)起來很吃力很絕望,感覺腦子不開竅,刷題也只會簡單等級的題,是不是不適合程序員這個行業(yè)?”這樣的問題。 綜合網(wǎng)上的各種問答來看,不管學(xué)習(xí)的目的是什么。數(shù)據(jù)結(jié)構(gòu)與算法仍然是學(xué)生黨認為的老大難課程。更有同學(xué)直接吐槽:“計算機專業(yè)全憑自學(xué),教學(xué)知識落伍,一個 VC6.0 用一萬年。” ![]() (新書上市,限時 5 折) 內(nèi)容對初學(xué)者友好,開篇介紹了基于大 O 計法的算法分析,并通篇運用,使用 Python 3 講解,語法干凈。深入淺出,理論扎實,案例豐富。每章還配有練習(xí)題,方便鞏固學(xué)習(xí)。 全書六大模塊,涵蓋數(shù)據(jù)結(jié)構(gòu)與算法的方方面面。 ![]() 第2版讀者評價 @李鑾珂:寫的挺好,大二在課上學(xué)懵懵懂懂,大三下自己再看一遍感覺打通了,不過還剩下一點點尾巴沒學(xué)完,明年回來補上。 ![]() 本書內(nèi)容設(shè)置 第 2 章介紹算法分析的內(nèi)在思想,同時強調(diào)大 O 記法,還將分析本書一直使用的重要 Python 數(shù)據(jù)結(jié)構(gòu)。這可以幫助大家理解各種抽象數(shù)據(jù)類型不同實現(xiàn)之間的權(quán)衡。第 2 章也包含了在運行時使用的 Python 原生類型的實驗測量例子。 第 3~7 章全面介紹在經(jīng)典計算機科學(xué)問題中出現(xiàn)的數(shù)據(jù)結(jié)構(gòu)與算法。盡管在閱讀順序上并無嚴格要求,但是許多話題之間存在一定的依賴關(guān)系,所以應(yīng)該按照本書的順序?qū)W習(xí)。比如,第 3 章介紹棧,第 4 章利用棧解釋遞歸,第 5 章利用遞歸實現(xiàn)二分搜索。 第 8 章是選學(xué)內(nèi)容,包含彼此獨立的幾節(jié)。每一節(jié)都與之前的某一章有關(guān)。正如前面的組織結(jié)構(gòu)圖所示,既可以在學(xué)習(xí)完第 7 章以后再一起學(xué)習(xí)第 8 章中的各節(jié)內(nèi)容,也可以把它們與對應(yīng)的那一章放在一起學(xué)習(xí)。 ![]() 第 3 版內(nèi)容更新
作譯者簡介 布拉德利·N. 米勒(Bradley N. Miller)美國路德學(xué)院計算機科學(xué)名譽教授,曾獲美國計算機協(xié)會軟件系統(tǒng)獎,對 Python 課程開發(fā)有深入研究,由他創(chuàng)立的互動式教科書平臺 Runestone Interactive 與全球 600 多家教育機構(gòu)有合作。 戴維·L. 拉努姆(David L. Ranum)Merative 高級科學(xué)家,醫(yī)學(xué)信息學(xué)博士,致力于利用自然語言處理等人工智能技術(shù)解決醫(yī)療問題,曾在美國路德學(xué)院講授計算機科學(xué)課程近三十載。 羅曼·亞西諾夫斯基(Roman Yasinovskyy)美國路德學(xué)院計算機科學(xué)系主任、副教授,授課范圍涵蓋算法、Web 開發(fā)、計算機網(wǎng)絡(luò)、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)、計算機體系結(jié)構(gòu)以及信息安全等課程。博士畢業(yè)于陶森大學(xué)應(yīng)用信息技術(shù)專業(yè)。 譯者呂能:StreamNative 計算技術(shù)負責人,開源項目 Apache Pulsar、Apache Heron 的核心貢獻者。先后在浙江大學(xué)和美國加州大學(xué)洛杉磯分校取得計算機科學(xué)學(xué)士學(xué)位和碩士學(xué)位,關(guān)注分布式實時數(shù)據(jù)引擎系統(tǒng)的研發(fā),熱衷于普及計算機技術(shù)知識。曾任 Twitter 資深工程師。 大咖推薦 本書是一本必讀的 Python 指南,透徹講解了在 Python 環(huán)境下實現(xiàn)各類高效算法的方法。作者凝聚多年實戰(zhàn)經(jīng)驗,將數(shù)據(jù)結(jié)構(gòu)、遞歸、搜索、排序、樹與圖等內(nèi)容生動呈現(xiàn)。對于所有 Python 程序員,本書是在 Python 基礎(chǔ)上學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的優(yōu)秀資源,值得一讀。 ——崔慶才,微軟(中國)工程師,《Python 3網(wǎng)絡(luò)爬蟲開發(fā)實戰(zhàn)》作者 我一直采用本書原版教材講授數(shù)據(jù)結(jié)構(gòu)與算法課程,很高興看到本書中文版第 3 版出版,讓更多學(xué)生能夠無障礙閱讀這本優(yōu)秀的教材。本書采用 Python 語言,深入淺出地介紹了常用的數(shù)據(jù)結(jié)構(gòu)及算法,語言使用規(guī)范,案例豐富,應(yīng)用情境取材廣泛,很有啟發(fā)性。在多年的教學(xué)實踐中,本書深受學(xué)生歡迎,相信它能幫助更多 Python 學(xué)習(xí)者提升算法能力。 ——陳斌,北京大學(xué)地球與空間科學(xué)學(xué)院教授,北京市高等學(xué)校教學(xué)名師 小伙伴聊聊你在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法時遇到過哪些難點,都是怎么克服的。我們會在精選留言中選出 3 位,獲得贈書。 |
|
|