- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
前言(第二版)
[vii] 前言(第二版)
前言(第二版)
書籍的修訂改版作業始終是個艱鉅的任務。筆者希望保留第一版中(於
2009 年出版)所有品質良好的內容並修正其中的某些缺點,以及加入額外
的新資料項目。本書第二版持續依循首版中論述的原則:
使用實際程式碼,而不只是以虛擬碼來描述演算法內容
將演算法與要解決的問題分離
引入足夠的數學內容
提供實證性的數學分析
本書第二版中,筆者縮短文字描述的長度與簡化內容佈局,進而騰出空間
加入新的演算法篇幅和其他資料項目。筆者認為自己會持續在電腦科學領
域,針對實際軟體系統有顯著影響的重要項目,提供概括的觀點。
第二版更新的內容
在第二版的內容中,筆者採用以下的原則
新增演算法
本書第一版出版之後,筆者經常收到讀者的一些評論,譬如:「為什
麼沒有納入合併排序(Merge Sort )?」或「為什麼不討論快速傅利
葉轉換(FFT──Fast Fourier Transform )?」。雖然本書無法滿足
讀者的所有需求,然而筆者在第二版中新增下列的演算法:
Fortune 演算法(Fortunes algorithm ),用於計算一組點的
圖(第 頁的「 圖」)
Voronoi 283 Voronoi
vii
合併排序(Merge Sort ),其中針對內部記憶體資料以及外部檔
案作討論(第85 頁的「合併排序」)
[ pa ge - vii i]
多執行緒的快速排序(Quicksort ) (第346 頁的「平行演算
法」)
平衡二元樹( )實作(第 頁
AVL AVL Balanced Binary Tree 127
的「解法」)
空間演算法( )是全新的章節(第十章),
Spatial Algorithms
其中探討的主題包含 樹( )與四元樹( )
R R-Trees Quadtrees
總而言之,本書涵蓋將近 個重要的演算法。
40
簡化內容呈現
為了騰出容納新資料的空間,筆者幾乎對第一版中每個方面的內容進
行調整。其中簡化用於描述每個演算法的範本架構,並減少附帶的描
述
項目。
新增Python 語言版的實作
並非以 Python 語言重新實作現有的演算法,筆者刻意使用 Python 語
言來對大部分新增的演算法進行實作。
管理程式碼資源
第一版的範例程式是以 ZIP 壓縮檔案供讀者取用。而筆者在第二版已
經將相關程式碼轉存於一個 GitHub 儲存庫(/
heineman/algorithms-nutshell-2ed )。多年來,筆者盡力提高程式碼與
其相關文件的品質。其中已經將成果整合在本書第一版出
文档评论(0)