資料結構是提升程式設計功力的必修課題。誠如Niklaus Wirth大師所說:「演算法+資料結構=程式」,資料結構的重要性可見一般。在目前的程式設計學習課程中,資料結構是必修的重點,同時也是許多國際程式設計競賽必考的題目。
本書作者長期從事資料結構教學及程式競賽訓練,以案例及實作的角度,以ACM國際大學生程式設計競賽和其他國際程式設計競賽中的典型試題為基礎,精選超過200個與資料結構相關的案例專題,詳細講解題型及背景知識,需要用到的資料結構理論原則和參考程式碼,另外也列出線上評測的資料,讓讀者可以從實作中學習與體會。
資料結構與程式設計不是看會的,而是實際練會的,本書以資料結構的知識體系和思考方式兩個角度作為主線,分成四大篇14章,主要介紹了基礎的程式設計實作、線性資料結構(線性串列-Linear list)的程式設計實作、層次類非線性串列(樹-Tree)的程式設計實作以及群聚類非線性串列(圖-Graph)的程式設計實作,並將「排序」和「搜索」的內容融合到相關章節中。每章節由實作範例和題庫兩個部分組成,試題全部選自ACM國際大學生程式設計競賽和其他程式設計競賽,共204題,並列出了試題來源和線上測試。每個實作範例不僅有詳盡的知識要點闡述和解題分析,而且列出了寫有詳細注釋的參考程式;而題庫中的所有試題無論難易,都有解題的相關知識及重點提示。
本書作者是ACM-ICPC、IOI國際程式設計競賽的指導委員會成員及教練,有非常豐富的經驗,在國際競賽中指導並帶領學生取得優異的成績。作者將其心得及經驗整理成書,對想要提升資料結構功力及有志參加國際程式競賽的讀者來說是很不錯的參考書。
目錄
【PART 01 基本能力的程式設計實作】
chapter 01 簡單計算的程式設計實作
1.1 改進程式書寫風格的實作範例
1.2 正確處理多組測試資料的實作範例
1.3 提高實數精度的實作範例
1.4 使用二分法提高計算時效的實作範例
1.5 相關題庫
chapter 02 簡單模擬的程式設計實作
2.1 直敘式模擬的實作範例
2.2 篩選法模擬的實作範例
2.3 構造法模擬的實作範例
2.4 相關題庫
chapter 03 簡單遞迴的程式設計實作
3.1 計算遞迴函數的實作範例
3.2 用遞迴演算法求問題解的實作範例
3.3 求解遞迴資料的實作範例
3.4 相關題庫
本篇小結
【PART 02 線性資料結構的程式設計實作】
chapter 04 應用直接存取類的線性串列程式設計
4.1 陣列應用一:日期計算的實作範例
4.2 陣列應用二:高精度運算的實作範例
4.3 陣列應用三:多項式表示與處理的實作範例
4.4 陣列應用四:數值矩陣運算的實作範例
4.5 字串處理一:字串儲存結構的實作範例
4.6 字串處理二:字串模式匹配的實作範例
4.7 相關題庫
chapter 05 應用順序存取類的線性串列程式設計
5.1 順序串列應用的實作範例
5.2 堆疊應用的實作範例
5.3 佇列應用的實作範例
5.4 相關題庫
chapter 06 應用廣義索引類的線性串列程式設計
6.1 使用詞典解題的實作範例
6.2 使用雜湊表與雜湊方法解題的實作範例
6.3 相關題庫
chapter 07 應用線性串列的排序程式設計
7.1 利用 STL 中內建的排序功能的實作範例
7.2 應用排序演算法程式設計的實作範例
7.3 相關題庫
本篇小結
【PART 03 層級類非線性串列的程式設計實作】
chapter 08 採用樹狀結構的非線性串列程式設計
8.1 用樹的走訪求解層次性問題的實作範例
8.2 用樹狀結構支援並查集的實作範例
8.3 用樹狀陣列統計子樹權和的實作範例
8.4 相關題庫
chapter 09 應用二元樹基本概念的程式設計
9.1 普通有序樹轉化為二元樹的實作範例
9.2 計算二元樹路徑的實作範例
9.3 透過走訪確定二元樹結構的實作範例
9.4 相關題庫
chapter 10 應用經典二元樹的程式設計
10.1 二元搜尋樹的實作範例
10.2 二元堆的實作範例
10.3 哈夫曼樹的實作範例
10.4 相關題庫
本篇小結
【PART 04 群聚類非線性串列的程式設計實作】
chapter 11 應用圖的走訪演算法程式設計
11.1 BFS 演算法的實作範例
11.2 DFS 演算法的實作範例
11.3 拓撲排序的實作範例
11.4 計算無向圖的連通性的實作範例
11.5 相關題庫
chapter 12 應用最小生成樹演算法的程式設計
12.1 Kruskal 演算法的實作範例
12.2 Prim 演算法的實作範例
12.3 相關題庫
chapter 13 應用最佳路徑演算法的程式設計
13.1 Warshall 和 Floyed-Warshall 演算法的實作範例
13.2 Dijkstra 演算法的實作範例
13.3 Bellman-Ford 演算法的實作範例
13.4 SPFA 演算法的實作範例
13.5 相關題庫
chapter 14 應用特殊圖的經典演算法程式設計
14.1 二元圖匹配的實作範例
14.2 計算網路最大流量的實作範例
14.3 相關題庫
本篇小結
【PART 01 基本能力的程式設計實作】
chapter 01 簡單計算的程式設計實作
1.1 改進程式書寫風格的實作範例
1.2 正確處理多組測試資料的實作範例
1.3 提高實數精度的實作範例
1.4 使用二分法提高計算時效的實作範例
1.5 相關題庫
chapter 02 簡單模擬的程式設計實作
2.1 直敘式模擬的實作範例
2.2 篩選法模擬的實作範例
2.3 構造法模擬的實作範例
2.4 相關題庫
chapter 03 簡單遞迴的程式設計實作
3.1 計算遞迴函數的實作範例
3.2 用遞迴演算法求問題解的實作範例
3.3 求解遞迴資料的實作範例
3....
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。