发表于2024-11-14
算法神探:一部榖歌首席工程師寫的CS小說 pdf epub mobi txt 電子書 下載 2024
無論你是計算機科學的學生還是業餘愛好者,本書都是能讓你在引人入勝的情節中學習算法知識的完美選擇。Frank是一位被解雇的前探員,老練的私傢偵探和搜索專傢。追尋他的足跡,你會學到:
◎*佳優先搜索、深度優先搜索、迭代加深、並行算法、二分搜索等算法背後的原理
◎字符串、數組、棧和隊列等基本計算機科學概念
◎如何修改搜索算法以適應不同的數據結構
◎如何在特定情況下選擇*適閤的算法,以及何時應該使用基於常識的啓發式算法
本書圍繞程序設計典型算法,精心編織瞭一個扣人心弦又趣味橫生的偵探緝凶故事。小說主人公運用高超的搜索技巧和精深的算法知識,*終識破陰謀、緝拿元凶。其間,用二分搜索搜查走私船、用搜索樹跟蹤間諜、用深度優先搜索逃離監獄、用優先隊列開鎖及用*佳優先搜索追尋綫索等跌宕起伏又富含算法精要的情節,讓讀者在愉悅的沉浸式體驗中快速提升境界,加深對程序世界的理解。本書適閤開發人員、編程愛好者和相關專業學生閱讀,也是少兒計算機科學啓濛的**讀物。
Jeremy Kubica 在 Google 任職首席工程師,著力於機器學習和算法方嚮。他擁有康奈爾大學的計算機科學本科學位和卡耐基梅隆大學的機器人專業博士學位。在研究生期間,他設計瞭一個算法,可以探測對地球有威脅的小行星(當然,還尚未能阻止那些小行星)。Kubica 同時也是著名博客Computational Fairy Tales的作者。
關於技術審校者
Heidi Newton 擁有新西蘭坎特伯雷大學計算機科學專業的學士學位,以及新西蘭惠靈頓維多利亞大學計算機科學專業的碩士學位。她目前就職於坎特伯雷大學計算機專業的代碼復仇者研究小組,並在業餘時間進行相關輔導和谘詢工作。她目前緻力於改善關於計算機科學和編程的教學資源。
譯者介紹
啊哈磊:原名紀磊,畢業於武漢大學。曾在微軟亞洲研究院研發“爬蟲”,全國青少年信息學奧林匹剋金牌教練。著有《啊哈C語言!邏輯的挑戰》和《啊哈!算法》係列編程科普叢書,並被引進至港澳颱。
李嘉浩:曾獲全國青少年信息學奧林匹剋競賽金牌,國傢集訓隊*小選手。現就讀於美國麻省理工學院計算機科學及音樂雙專業。喜歡行走在科學與藝術的交接點。
第一章 搜索問題 1
警局檔案室裏的幾百份捲宗莫名失蹤,警長求助Frank,一位幾年前被自己親自辭退的前警官。
警用算法導論:搜索問題 6
第二章 窮舉搜索尋綫人 7
搜索第一站:Frank尋找“玻璃箱”Billy。作為一個靠分享信息過活的人,Billy這次竟然不願透露信息。
警用算法導論:窮舉搜索 13
第三章 罪犯農場裏的數組和索引 15
搜索第二站:Frank在Crannock農場偶遇Notation警官。雖然飽受Crannock夫婦的嗬斥,Frank還是幸運地在數組車上找到一根珍貴的綫頭。
警用算法導論:數組 22
第四章 字符串及隱藏的信息 23
Frank的迴憶:初入警局時學習辨識Crannock農場的指示牌信息,這個指示牌被用來傳播各種加瞭密的非法活動消息。
警用算法導論:字符串 26
第五章 對一艘走私船的二分搜索 27
搜索第三站:Frank和Notation來到Usb港,根據船隻的到港時間快速鎖定走私船Retry Loop號。
警用算法導論:二分搜索Ⅰ 33
第六章 二分搜索尋綫索 37
Frank和Notation假裝食品監察員闖入Retry Loop號,快速翻看造假日誌尋找蛛絲馬跡。
警用算法導論:二分搜索Ⅱ 43
第七章 調整算法,大膽逃離 45
他們被船上惡棍們拖上甲闆,惡棍們的資曆是如此淺,以至於什麼信息都套不齣來。
警用算法導論:改編你的二分搜索法 54
第八章 Socks:一個突如其來的插麯 55
峰迴路轉,素不相識的小巫師Socks來營救,營救武器竟然是一桶桶的醃鰻魚。
第九章 倒退一步,繼續搜索 63
搜索第四站:Mudwall港口,與村民們再三確認,最近沒有船到港,一無所獲地離開。
警用算法導論:倒退一步 67
第十章 用廣度優先搜索去開鎖 69
搜索第五站:Frayed Cable島,這裏有一座廢棄的監獄,Socks用咒語打開瞭監獄大門的鎖。
警用算法導論:廣度優先搜索 76
第十一章 廢棄監獄中的深度優先搜索 81
這座廢棄的監獄像迷宮一樣,不過在Frank的帶領下,他們真的在這裏找到瞭那些失蹤的捲宗!然而……
警用算法導論:深度優先搜索 89
第十二章 餐廳中的棧和隊列 91
Frank的迴憶:在警察學院的最初兩個月,Frank在餐廳打工,在一次偶然聊天中他意識到瞭數據結構的重要性。
警用算法導論:棧和隊列Ⅰ 97
第十三章 用棧和隊列搜索 101
廢棄監獄裏房間的門突然關閉,捲宗被燃燒,重要綫索被毀,他們落荒而逃。
警用算法導論:棧和隊列Ⅱ 106
第十四章 分頭行動——並行搜索 109
返迴Usb港的途中,Frank決定上岸後將Notation和Socks支開,因為他感覺自己無法相信任何人。
警用算法導論:並行算法 115
第十五章 迭代加深可以救你的命 117
Mavis的迴憶:在自己還是學徒的一次齣海中,雖然地圖丟失瞭,他們仍然用一種看似笨拙的方法在茫茫大海中找到瞭補給站。
警用算法導論:迭代加深 125
第十六章 逆嚮索引:縮小搜索範圍 127
搜索第六站:上岸後Frank拿著在Crannock農場找到的綫頭去請教披風專傢Cloaksworth 先生,確認這是一件被施瞭咒語的警察披風上的綫頭。
警用算法導論:逆嚮索引 132
第十七章 二叉搜索樹陷阱 135
謝過Cloaksworth先生後Frank走在街上,發現自己被探子跟蹤瞭。他轉而去追探子,被引入瞭下水道內建造的高高的二叉搜索梯。
警用算法導論:二叉搜索樹Ⅰ 142
第十八章 建造二叉搜索梯 145
Frank一層層爬下梯子,然而爬到最後一層時他受傷瞭。探子放鐵蛇來圍攻,Frank艱難爬迴地麵。
警用算法導論:二叉搜索樹Ⅱ 150
第十九章 疑犯的二叉搜索樹 151
搜索第七站:調查調職記錄,Frank讓Socks生成巨大的閃閃發光的魔法樹,但是沒能找到任何可疑之處。
警用算法導論:二叉搜索樹Ⅲ 160
第二十章 將疑犯加到搜索樹中 163
Frank決定帶著魔法樹去見警長,不過途中他們停在瞭警局記錄處,他們需要嚮魔法樹中增加一些節點。
警用算法導論:二叉搜索樹Ⅳ 169
第二十一章 二叉搜索樹的屬性 171
在增加節點的過程中,Socks犯瞭“小”錯誤,這引起瞭Frank的抱怨、咒罵和懷疑。
警用算法導論:二叉搜索樹Ⅴ 173
第二十二章 公文字典樹 175
途中他們又來到警局檔案室,Frank得以在事故現場偵察,在這裏他找到瞭新的綫索。
警用算法導論:trie樹 179
第二十三章 最佳優先搜索:偵探最值得信賴的工具 183
Frank與警長交談,發現事態比想象中的更緊迫而嚴重:攻擊城堡的計劃、強大的魔法麵具、危險的邪惡巫師聯盟……
警用算法導論:最佳優先搜索 190
第二十四章 用優先隊列進行調查 193
Notation受到警長嚴厲批評,被停職,因為她一直在擅自調查不屬於自己的案件。
警用算法導論:優先隊列 199
第二十五章 用優先隊列來解鎖 201
Frank想迴到自己的辦公室,卻發現再次被跟蹤瞭,他甩掉探子,巧妙地解開安全屋的密碼,躲進瞭安全屋。
警用算法導論:數據結構和搜索 205
第二十六章 啓發式搜索 207
搜索第八站:安全屋裏的靜心反思。Frank反復研究著找到的所有綫索,忽然他開始懷疑之前的所有推斷。可靠的綫索用盡瞭,模糊的綫索也沒有瞭……
警用算法導論:啓發式搜索 210
第二十七章 警察學院中的“堆” 213
Loop教授的迴憶:警察學院基於教齡分配辦公室,95歲的Loop教授有長達70年的教齡,終於爭奪到瞭本應屬於自己的辦公室。
警用算法導論:堆 219
第二十八章 搜索難題 223
搜索第九站:Frank嚮Loop教授請教咒語知識。巫術犯罪學是一個危險的領域,而Loop教授卻一直能夠幸存下來。在這裏Frank終於厘清瞭綫索。
警用算法導論:期末考試復習課 229
第二十九章 搜索終點站 231
Frank與Notation來到警局的監獄,一舉抓獲戴著魔法麵具、試圖解救自己首領的小巫師,沒錯,他就是一路同行的Socks。
結 語 239
譯 者 序
算法!Algorithms !
咳咳!很多人一聽到這個詞,估計腦袋就要炸瞭:一定又是復雜極瞭的東西,看來此書必定翻不過第一節,就要睡著瞭。
沒錯,很多算法書雖然寫得很精妙,但憑我這種智商一口氣最多隻能看5到10 頁,就會乖乖滾迴去睡覺瞭。不少讀者說《啊哈!算法》一口氣能讀100頁,這已經是極限。那麼,這本《算法神探:一部榖歌首席工程師寫的CS小說》或許可以一口氣讀完,沒錯,是讀完!
整本書巧妙地將算法穿插入一場離奇的盜竊案的偵破中。沒有一行代碼和公式,取而代之是一場又一場鮮活的破案遊戲,帶你遊走在各個犯罪現場,讓你身臨其境地觀察我們的主人公是如何使用算法搜尋綫索並逐步揭開事實真相的。雖然這本書並不是教科書,但通過這種輕鬆的閱讀學習,你可以對算法的本質有大緻瞭解。在酣暢淋灕地讀完本書之後,再去翻閱其他算法書籍,你會驚奇地發現,自己竟然可以看懂那些枯燥苦澀的代碼和公式瞭。
其實,在閱讀本書之前,你甚至不需要掌握任何編程的基礎知識。這並不影響你閱讀全書,並以輕鬆有趣的方式瞭解這些算法——就是這樣一本神奇的算法書。
然而,時間緊張加之我們翻譯水平有限,請恕不能將原作者的精巧行文完美地展現在你麵前。譯文中難免有不足和疏漏之處,還請不吝批評指正。翻譯期間得到瞭不少朋友的幫助,在此嚮他們錶示感謝。特彆感謝我的摯友丁廣浩,他目前就職於美國的Amazon。在 On-Call Duty 的日子裏麵,他還抽時間幫我解答疑問,甚是感激。另外,也非常感謝武漢外國語學校的張競文同學和浙江大學的陳泓宇同學。
好嘞,故事要開始瞭,讓我們跟隨Frank探長和Notation警官一起走入這場奇妙之旅。
啊哈磊
ahalei.com
關於作者
Jeremy Kubica 在 Google 任職首席工程師,著力於機器學習和算法方嚮。他擁有康奈爾大學的計算機科學本科學位和卡耐基梅隆大學的機器人專業博士學位。在研究生期間,他設計瞭一個算法,可以探測對地球有威脅的小行星(當然,還尚未能阻止那些小行星)。Kubica 同時也是著名博客Computational Fairy Tales的作者。
關於技術審校者
Heidi Newton 擁有新西蘭坎特伯雷大學計算機科學專業的學士學位,以及新西蘭惠靈頓維多利亞大學計算機科學專業的碩士學位。她目前就職於坎特伯雷大學計算機專業的代碼復仇者研究小組,並在業餘時間進行相關輔導和谘詢工作。她目前緻力於改善關於計算機科學和編程的教學資源。
緻 謝
我要對所有支持本書和為本書做齣瞭貢獻的人們深錶感謝。
首先,我想嚮 No Starch 齣版社團隊的所有人緻謝。特彆是 Liz Chadwick 和Riley Hoffman 在本書的編輯過程中給予我的幫助、指導和建議。Liz 高質量的建議使得本書的故事內容保持瞭流暢清晰。同時,我也很感謝她提齣的將本書涉及的專業內容以講義形式呈現的建議。感謝 Bill Pollock 和 Tyler Ortman 的支持,特彆感謝 Bill 為本書書名提供的建議。也感謝 Carlos Bueno 嚮我介紹瞭 No Starch 齣版社。
感謝Miran Lipovacˇa為本書提供瞭精美的插圖。這些插圖很好地刻畫瞭本書的人物特色和故事情節。
感謝 Heidi Newton從專業角度進行的細緻深度的審校。她的審閱很大程度上確保瞭本書所涵蓋的內容和概念能夠以準確易懂的方式呈現齣來。非常感謝她針對書中的晦澀難懂處給予的提醒。
同時也感謝所有閱讀過本書早期手稿並提供瞭寶貴建議的人:John Bull、Mike Hochberg、Edith Kubica、Regan Lee和 Kristen “Kit” Subbs 博士。感謝 Ilana Schwarcz 對於本書早期手稿的編輯,以及對本書在行文上的建議和幫助。
最後,我想由衷地感謝我的傢人,特彆是父母在我孩童時期對於我的計算機興趣的支持,以及對我寫作本書給予的鼓勵。
導 讀
本書關注的是計算機思維和搜索算法。這些故事介紹並闡釋瞭較高層次的計算機思想,探索瞭它們背後的動機及其在非計算機領域中的應用。本書並不奢望對算法進行非常詳盡而全麵的描述,書中的故事也不是為瞭替代計算機科學中那些堅實而嚴謹的技術性描述。相反,它們的作用更像是插圖:對整體思想進行補充,幫助你更好地理解算法。
本書介紹瞭一係列的計算方法,它們大緻上屬於搜索算法的範疇。書中每一章首先通過一個故事來講解算法的大緻思想,隨後再用講義的形式來對算法進行更為技術性的解釋。讀者可以完全跳過這些技術講解部分,同時又不會錯過任何一個精彩的故事。
本書假定你已經對一些基本的計算機科學思想有所瞭解,但你並不需要掌握任何一門編程語言。本書中的算法適用於各種編程語言和不同領域的問題。
吾消費京東商城數年,深知各産品琳琅滿目。然,唯此寶物與眾皆不同,為齣淤泥之清蓮。使吾為之動容,心馳神往,以至茶飯不思,寢食難安,輾轉反側無法忘懷。於是乎緊衣縮食,湊齊銀兩,傾吾之所有而能買。東哥之熱心、快遞員之殷切,無不讓人感激涕零,可謂迅雷不及掩耳盜鈴兒響叮當仁不讓世界充滿愛。待打開包裹之時,頓時金光四射,屋內升起七彩祥雲,處處皆是祥和之氣。吾驚訝之餘甚是欣喜若狂,嗚呼哀哉!此寶乃是天上物,人間又得幾迴求!遂沐浴更衣,焚香禱告後與人共賞此寶。人皆贊嘆不已,故生此寶物款型及做工,超高性價比之慨,且贊吾獨具慧眼與時尚品位。産品介紹果然句句實言,毫無誇大欺瞞之嫌。實乃大傢之風範,忠義之商賈。
評分一直想買這本書,剛好京東做活動,果斷下單。
評分上11點前動動手指,購買的商品,第二天上午就送到單位或
評分貨,實體店兒弱爆瞭,根本沒有競爭力與京東相提並論; 比老
評分趁著打摺買瞭一大堆書,好評好評
評分◎字符串、數組、棧和隊列等基本計算機科學概念
評分√真實現場體驗與生涯感悟
評分趁著打摺買瞭一大堆書,好評好評
評分速度快,配送員服務態度好,每樣東西都是送貨上門。希
算法神探:一部榖歌首席工程師寫的CS小說 pdf epub mobi txt 電子書 下載