「這本書有三項值得閱讀的理由:針對書中演算法與資料結構,以視覺化圖表展示其特性;內容以會話方式陳述而不是生硬的學術語調;以及始終不斷強調的演算法效能基準。如果您正處於演算法領域的現實世界中,本書勢必會改變您對資料結構的使用方式。」
── Richard Resnick
GQ Life Science公司執行長
設計穩健的軟體需要運用高效的演算法,然而程式設計師鮮少能深入了解演算法可運用的程度。書中提供用於解決各種程式設計問題的現有演算法,並協助讀者選擇與實作適合所需的演算法。搭配淺顯易懂的數學陳述,讓讀者輕鬆了解與分析演算法的效能。
本書基於嚴謹的原則,著重於實作應用而非理論,包含了多種程式語言程式碼解法的運用與描述。本版的更新內容有:以Python語言描述十多個新增演算法的實作、Voronoi圖(Voronoi diagrams)的實作、以及描述空間樹(spatial tree)結構的新單元,如:R樹(R-Trees)與四元樹(Quadtrees)。
透過本書您將學習到:
‧解決新的程式設計問題或提升現有解法的效能
‧快速找到與問題相關的演算法以及確定適用的演算法
‧透過C、C++、Java與Python的實作程式獲得演算法解法
‧了解演算法的預期效能與優化執行所需的條件
‧使用進階的資料結構提高演算法效率