本書特色
「程式 = 演算法+資料結構」,這是在學習計算機科學的基礎時常常聽到的一句話,要發揮計算機的效能必須要有良善的程式,要開發出良善的程式則必須有適當的演算法。本書詳盡地收集與演算法相關的主題與資料,除了深入淺出地介紹各個演算法的理論外,也提供演算法的實作範例,期望提供給讀者廣泛的使用。
■ 概論篇
介紹演算法的基本概念和效能分析的技巧,並回顧一些基本的資料結構,以作為往後章節討論的基礎,讓讀者對演算法有初步的認識。
■ 排序與搜尋篇
這是演算法最基礎也最常被應用的主題,這裡介紹並分析了排序、堆積、搜尋、雜湊和字串搜尋等議題,作為真正踏入學習與研究演算法的第一步。
■ 圖論演算法篇
許多複雜的問題都可以對映成圖形的問題而得到較容易的理解方式,進而以圖形的解決方法來得到完善的處理,這裡介紹基本圖論、加權圖和網路流等,讓讀者認識圖論演算法的能力。
■ 基本的最佳化演算法篇
很多實際的問題都有多個可行的方法來解決,但是要從中找出最佳的解決方法卻是一個挑戰,在此介紹常用來解決最佳化問題的設計策略,包括貪婪演算法、動態程序規劃、回溯法和分支設限法等。
■ 數值相關演算法篇
數值的計算是計算機被賦予的原始任務,而快速、有效率地解決各類數值問題則是數值相關演算法的重點,這裡除了介紹目前當紅的密碼學核心-數論演算法之外,也討論了應用於各類科學研究和工程計算息息相關的計算幾何、矩陣操作、多項式運算和快速傅立業轉換(FFT)等議題。
■ 進階議題篇
主要挑選了NP 完全問題和平行演算法兩個議題,討論各類問題的計算複雜度,並使用不同的計算模型-平行計算為範例,介紹目前最新的研究議題,以建立研究更先進演算法的基本能量。
「程式 = 演算法+資料結構」,這是在學習計算機科學的基礎時常常聽到的一句話,要發揮計算機的效能必須要有良善的程式,要開發出良善的程式則必須有適當的演算法。本書詳盡地收集與演算法相關的主題與資料,除了深入淺出地介紹各個演算法的理論外,也提供演算法的實作範例,期望提供給讀者廣泛的使用。
■ 概論篇
介紹演算法的基本概念和效能分析的技巧,並回顧一些基本的資料結構,以作為往後章節討論的基礎,讓讀者對演算法有初步的認識。
■ 排序與搜尋篇
這是演算法最基礎也最常被應用的主題,這裡介紹並分析了排序、堆積、搜尋、雜湊和字串搜尋等議題,作為真正踏入學習與研究演算法的第一步。
■ 圖論演算法篇
許多複雜的問題都可以對映成圖形的問題而得到較容易的理解方式,進而以圖形的解決方法來得到完善的處理,這裡介紹基本圖論、加權圖和網路流等,讓讀者認識圖論演算法的能力。
■ 基本的最佳化演算法篇
很多實際的問題都有多個可行的方法來解決,但是要從中找出最佳的解決方法卻是一個挑戰,在此介紹常用來解決最佳化問題的設計策略,包括貪婪演算法、動態程序規劃、回溯法和分支設限法等。
■ 數值相關演算法篇
數值的計算是計算機被賦予的原始任務,而快速、有效率地解決各類數值問題則是數值相關演算法的重點,這裡除了介紹目前當紅的密碼學核心-數論演算法之外,也討論了應用於各類科學研究和工程計算息息相關的計算幾何、矩陣操作、多項式運算和快速傅立業轉換(FFT)等議題。
■ 進階議題篇
主要挑選了NP 完全問題和平行演算法兩個議題,討論各類問題的計算複雜度,並使用不同的計算模型-平行計算為範例,介紹目前最新的研究議題,以建立研究更先進演算法的基本能量。