算法神探
作 者: (美)Jeremy Kubica(傑瑞米 . 庫比卡) 著 啊哈磊 譯
定 價: 65
出?版?社: 電子工業出版社
出版日期: 2017年01月01日
頁 數: 252
裝 幀: 簡裝
ISBN: 9787121307645
●1 搜索問題............................................................................................................ ......1 警局檔案室裡的幾百份卷宗莫名失蹤,警長求助Frank,一位幾年前被自己親自辭退的前警官。 警用算法導論:搜索問題....................................................6 2 窮舉搜索尋線人......................................................... .................. .................. ......7 搜索站:Frank尋找“玻璃箱”Billy。作為一個靠分享信息過活的人,Billy這次竟然不願透露信息。 警用算法導論:窮舉搜索....................................................13 3 罪犯農場裡的數組和索引....................................................................................15 搜索第二站:Frank在Crannock農場偶遇Notation警官。雖然飽受Crannock夫婦的呵斥,Frank還是幸運地在數組車上找到一根珍貴的線頭。 警用算法導論:數組....................................................... 22 4 字符串及隱藏的信息...........................................................................................23 Frank的回憶:初入警局時學習辨識Crannock農場的指示牌信息,這個指示牌被用來傳播各種加了密的非法活動消息。 警用算法導論:字符串..................................................... 26 5 對一艘走私船的二分搜索....................................................................................27 搜索第三站:Frank和Notation來到Usb港,根據船隻的到港時間快速鎖定走私船Retry Loop號。 警用算法導論:二分搜索Ⅰ.................................................. 33 6 二分搜索尋線索.....................................................................................................37 Frank和Notation假裝食品監察員闖入Retry Loop號,快速翻看造假日志尋找蛛絲馬跡。 警用算法導論:二分搜索Ⅱ............................................................................43 7 調整算法,大膽逃離.............................................................................................45 他們被船上惡棍們拖上甲板,惡棍們的資歷是如此淺,以至於什麼信息都套不出來。 警用算法導論:改編你的二分搜索法.........................................54 8 Socks:一個突如其來的插曲...............................................................................55 峰回路轉,素不相識的小巫師Socks來營救,營救武器竟然是一桶桶的腌鰻魚。 9 倒退一步,繼續搜索............................................................................................63 搜索第四站:Mudwall港口,與村民們再三確認,最近沒有船到港,一無所獲地離開。 警用算法導論:倒退一步....................................................67 10 用廣度優先搜索去開鎖......................................................................................69 搜索第五站:Frayed Cable島,這裡有一座廢棄的監獄,Socks用咒語打開了監獄大門的鎖。 警用算法導論:廣度優先搜索................................................ 76 11 廢棄監獄中的深度優先搜索.............................................................................81 這座廢棄的監獄像迷宮一樣,不過在Frank的帶領下,他們真的在這裡找到了那些失蹤的卷宗!然而…… 警用算法導論:深度優先搜索................................................ 89 12 餐廳中的棧和隊列.............................................................................................91 Frank的回憶:在警察學院的最初兩個月,Frank在餐廳打工,在一次偶然聊天中他意識到了數據結構的重要性。 警用算法導論:棧和隊列Ⅰ..................................................97 13 用棧和隊列搜索................................................................................................101 廢棄監獄裡房間的門突然關閉,卷宗被燃燒,重要線索被毀,他們落荒而逃。 警用算法導論:棧和隊列Ⅱ.................................................106 14 分頭行動――並行搜索...................................................................................109 返回Usb港的途中,Frank決定上岸後將Notation和Socks支開,因為他感覺自己無法相信任何人。 警用算法導論:並行算法...................................................115 15 迭代加深可以救你的命...................................................................................117 Mavis的回憶:在自己還是學徒的一次出海中,雖然地圖丟失了,他們仍然用一種看似笨拙的方法在茫茫大海中找到了補給站。 警用算法導論:迭代加深...................................................125 16 逆向索引:縮小搜索範圍.................................................................................127 搜索第六站:上岸後Frank拿著在Crannock農場找到的線頭去請教披風專家Cloaksworth 先生,確認這是一件被施了咒語的警察披風上的線頭。 警用算法導論:逆向索引...................................................132 17 二叉搜索樹陷阱................................................................................................135 謝過Cloaksworth先生後Frank走在街上,發現自己被探子跟蹤了。他轉而去追探子,被引入了下水道內建造的高高的二叉搜索梯。 警用算法導論:二叉搜索樹Ⅰ...............................................142 18 建造二叉搜索梯................................................................................................145 Frank一層層爬下梯子,然而爬到最後一層時他受傷了。探子放鐵蛇來圍攻,Frank艱難爬回地面。 警用算法導論:二叉搜索樹Ⅱ...............................................150 19 疑犯的二叉搜索樹 ..........................................................................................151 搜索第七站:調查調職記錄,Frank讓Socks生成巨大的閃閃發光的魔法樹,但是沒能找到任何可疑之處。 警用算法導論:二叉搜索樹Ⅲ..........................................................................160 20 將疑犯加到搜索樹中.......................................................................................163 Frank決定帶著魔法樹去見警長,不過途中他們停在了警局記錄處,他們需要向魔法樹中增加一些節點。 警用算法導論:二叉搜索樹Ⅳ...............................................169 21 二叉搜索樹的屬性............................................................................................171 在增加節點的過程中,Socks犯了“小”錯誤,這引起了Frank的抱怨、咒罵和懷疑。 警用算法導論:二叉搜索樹Ⅴ...............................................173 22 公文字典樹........................................................................................................175 途中他們又來到警局檔案室,Frank得以在事故現場偵察,在這裡他找到了新的線索。 警用算法導論:trie樹 ....................................................179 23 最佳優先搜索:偵探最值得信賴的工具.......................................................183 Frank與警長交談,發現事態比想像中的更緊迫而嚴重:攻擊城堡的計劃、強大的魔法面具、危險的邪惡巫師聯盟…… 警用算法導論:最佳優先搜索...............................................190 24 用優先隊列進行調查.......................................................................................193 Notation受到警長嚴厲批評,被停職,因為她一直在擅自調查不屬於自己的案件。 警用算法導論:優先隊列...................................................199 25 用優先隊列來解鎖............................................................................................201 Frank想回到自己的辦公室,卻發現再次被跟蹤了,他甩掉探子,巧妙地解開安全屋的密碼,躲進了安全屋。 警用算法導論:數據結構和搜索.............................................205 26 啟發式搜索........................................................................................................207 搜索第八站:安全屋裡的靜心反思。Frank反復研究著找到的所有線索,忽然他開始懷疑之前的所有推斷。可靠的線索用盡了,模糊的線索也沒有了…… 警用算法導論:啟發式搜索.................................................210 27 警察學院中的“堆”.......................................................................................213 Loop教授的回憶:警察學院基於教齡分配辦公室,95歲的Loop教授有長達70年的教齡,終於爭奪到了本應屬於自己的辦公室。 警用算法導論:堆.........................................................219 28 搜索難題............................................................................................................223 搜索第九站:Frank向Loop教授請教咒語知識。巫術犯罪學是一個危險的領域,而Loop教授卻一直能夠幸存下來。在這裡Frank終於釐清了線索。 警用算法導論:期末考試復習課.............................................229 29 搜索終點站........................................................................................................231 Frank與Notation來到警局的監獄,一舉抓獲戴著魔法面具、試圖解救自己首領的小巫師,沒錯,他就是一路同行的Socks。 結 語.......................................................................................................................239
內容簡介
本書圍繞程序設計典型算法,精心編織了一個扣人心弦又趣味橫生的偵探緝兇故事。小說主人公運用高超的搜索技巧和精深的算法知識,很終識破陰謀兇。其間,用二分搜索搜查走私船、用搜索樹跟蹤間諜、用深度優先搜索逃離監獄、用優先隊列開鎖及用很好優先搜索追尋線索等跌宕起伏又富含算法精要的情節,讓讀者在愉悅的沉浸式體驗中快速提升境界,加深對程序世界的理解。本書適合開發人員、編程愛好者和相關專業學生閱讀,也是少兒計算機科學啟蒙的不錯讀物。
(美)Jeremy Kubica(傑瑞米 . 庫比卡) 著 啊哈磊 譯
啊哈磊:原名紀磊,畢業於武漢大學。曾在微軟亞洲研究院研發“爬蟲”,全國青少年信息學奧林匹品牌教練。著有《啊哈C語言!邏輯的挑戰》和《啊哈!算法》繫列編程科普叢書,並被引進至港澳臺。
李嘉浩:曾獲全國青少年信息學奧林匹競賽品牌,國家集訓隊很小選手。現就讀於美國麻省理工學院計算機科學及音樂雙專業。喜歡行走在科學與藝術的交接點。
JeremyKubica:在Google任職首席工程師,著力於機器學習和算法方向。他擁有康奈爾大學的計算機科學本科學位,和卡耐基梅隆大學的機器人專業博士學位。在研究生期間,他設計了一個算法,可以探測對地球有威脅的小行星(當然,還尚未能阻止那些小行星)。Kub......
"