産品特色
編輯推薦
1.暢銷書《挑戰程序設計競賽》第2彈!
2.網羅算法和數據結構的關鍵知識點!
3.係統學習基礎知識——適閤初學者的入門書
有效運用在綫評測——適閤挑戰者的參考書
4.全書練習均可藉助在綫評測係統(AIZU ONLINE JUDGE)
與競賽相同的自動審查係統,有效檢測Bug和算法效率
大量習題及往年真題,體驗各類題型、總結答題技巧
與世界各地選手相互切磋、共同成長
5.入門、挑戰、進階,享受收集算法的樂趣!
內容簡介
本書分為準備篇、基礎篇和應用篇三大部分,藉助在綫評測係統Aizu Online Judge以及大量例題,詳細講解瞭算法與復雜度、初等和高等排序、搜索、遞歸和分治法、動態規劃法、二叉搜索樹、堆、圖、計算幾何學、數論等與程序設計競賽相關的算法和數據結構,既可以作為挑戰程序設計競賽的參考書,也可以用來引導初學者係統學習算法和數據結構的基礎知識。本書適閤所有程序設計人員、程序設計競賽愛好者以及高校計算機專業師生閱讀。
作者簡介
渡部有隆(作者)
齣生於1979年,計算機理工學博士。會津大學計算機理工學部信息係統學部門副教授。專業領域為可視化編程語言。AIZU ONLINE JUDGE開發者。
Ozy(審校)
本名岡田佑一,齣生於日本大阪的短碼高手。他花費相當長的時間提升短碼編程技術,進而將其發展成一種技能,曾獲得程序設計大賽的冠軍。他開辦過程序設計方麵的培訓班,目前緻力於數學教育和程序設計師的培養工作。曾著有《短碼之美:變成達人的心得技法》(人民郵電齣版社)。
鞦葉拓哉(審校)
2011年考入東京大學研究生院。以iwi的昵稱活躍在程序設計競賽中。TopCoder評級好成績為世界第四(2013年)。《挑戰程序設計競賽(第2版)》(人民郵電齣版社)作者之一。
目錄
目錄
第1部分 [準備篇]攻剋程序設計競賽的學習方法 1
第1章 有效運用在綫評測係統 3
1.1 攻剋程序設計競賽的學習方法 3
1.2 什麼是在綫評測 7
1.3 用戶注冊 9
1.4 瀏覽問題 10
1.5 解答問題 12
1.6 個人頁麵 18
1.7 如何運用本書 19
第2部分 [基礎篇]為程序設計競賽做準備的算法與數據結構 21
第2章 算法與復雜度 23
2.1 算法是什麼 23
2.2 問題與算法示例 23
2.3 僞代碼 25
2.4 算法的效率 26
2.5 入門問題 28
第3章 初等排序 33
3.1 挑戰問題之前——排序 33
3.2 插入排序法 35
3.3 冒泡排序法 40
3.4 選擇排序法 44
3.5 穩定排序 48
3.6 希爾排序法 52
第4章 數據結構 57
4.1 挑戰問題之前——什麼是數據結構 57
4.2 棧 59
4.3 隊列 64
4.4 鏈錶 70
4.5 標準庫的數據結構 77
4.6 數據結構的應用——計算麵積 86
第5章 搜索 89
5.1 挑戰問題之前——搜索 89
5.2 綫性搜索 91
5.3 二分搜索 94
5.4 散列法 98
5.5 藉助標準庫搜索 102
5.6 搜索的應用——計算最優解 106
第6章 遞歸和分治法 109
6.1 挑戰問題之前——遞歸與分治 109
6.2 窮舉搜索 111
6.3 科赫麯綫 114
第7章 高等排序 119
7.1 歸並排序 120
7.2 分割 125
7.3 快速排序 129
7.4 計數排序 133
7.5 利用標準庫排序 137
7.6 逆序數 139
7.7 最小成本排序 143
第8章 樹 147
8.1 挑戰問題之前——樹結構 148
8.2 有根樹的錶達 150
8.3 二叉樹的錶達 154
8.4 樹的遍曆 159
8.5 樹遍曆的應用——樹的重建 163
第9章 二叉搜索樹 167
9.1 挑戰問題之前——二叉搜索樹 168
9.2 二叉搜索樹——插入 169
9.3 二叉搜索樹——搜索 174
9.4 二叉搜索樹——刪除 177
9.5 通過標準庫管理集閤 182
第10章 堆 189
10.1 挑戰問題之前——堆 190
10.2 完全二叉樹 191
10.3 最大/最小堆 193
10.4 優先級隊列 197
10.5 通過標準庫實現優先級隊列 201
第11章 動態規劃法 203
11.1 挑戰問題之前——動態規劃法的概念 203
11.2 斐波那契數列 204
11.3 最長公共子序列 208
11.4 矩陣鏈乘法 211
第12章 圖 217
12.1 挑戰問題之前——圖 218
12.2 圖的錶示 221
12.3 深度優先搜索 224
12.4 廣度優先搜索 232
12.5 連通分量 237
第13章 加權圖 241
13.1 挑戰問題之前——加權圖 242
13.2 最小生成樹 244
13.3 單源最短路徑 249
第3部分 [應用篇]程序設計競賽的必備程序庫 261
第14章 高等數據結構 263
14.1 互質的集閤 264
14.2 範圍搜索 269
14.3 其他問題 278
第15章 高等圖算法 279
15.1 所有點對間最短路徑 280
15.2 拓撲排序 284
15.3 關節點 290
15.4 樹的直徑 295
15.5 最小生成樹 299
15.6 其他問題 303
第16章 計算幾何學 305
16.1 幾何對象的基本元素與錶現 306
16.2 直綫的正交/平行判定 312
16.3 投影 314
16.4 映象 316
16.5 距離 317
16.6 逆時針方嚮 321
16.7 判斷綫段相交 324
16.8 綫段的交點 326
16.9 圓與直綫的交點 328
16.10 圓與圓的交點 331
16.11 點的內包 333
16.12 凸包 335
16.13 綫段相交問題 339
16.14 其他問題 343
第17章 動態規劃法 345
17.1 硬幣問題 346
17.2 背包問題 349
17.3 最長遞增子序列 353
17.4 最大正方形 357
17.5 最大長方形 360
17.6 其他問題 364
第18章 數論 367
18.1 質數檢驗 368
18.2 最大公約數 372
18.3 冪乘 376
18.4 其他問題 378
第19章 啓發式搜索 381
19.1 八皇後問題 382
19.2 九宮格拼圖 386
19.3 十六格拼圖 391
附錄 399
通過本書可以獲得的技能 400
挑戰以往的程序設計競賽真題! 402
參考文獻 404
挑戰程序設計競賽2 算法和數據結構 epub pdf mobi txt 電子書 下載 2024
挑戰程序設計競賽2 算法和數據結構 下載 epub mobi pdf txt 電子書