算法設計編程實驗:大學程序設計課程與競賽訓練教材

算法設計編程實驗:大學程序設計課程與競賽訓練教材
定價:414
NT $ 360
  • 作者:吳永輝
  • 出版社:機械工業出版社
  • 出版日期:2013-06-01
  • 語言:簡體中文
  • ISBN10:7111423836
  • ISBN13:9787111423836
  • 裝訂:461頁 / 普通級 / 1-1
 

內容簡介

以知識體系結構、思維方式與解題策略為主線,分8章分別介紹AdHoc、模擬法、數論、組合分析、貪心法、動態規划方法、高級數據結構、計算幾何的編程實驗。每個章節由實驗范例和題庫兩個部分組成,試題全部選自ACM國際大學生程序設計競賽以及其他各類程序設計競賽,共234題(3題為一題多解),並給出了試題來源和在線測試地址。

每個實驗范例都有詳盡的試題解析和標有注釋的參考程序,而題庫中的所有試題無論難易,都有清晰的提示。另外,華章網站中還給出了本書所有試題的英文原版描述和大部分試題的測試數據。

《算法設計編程實驗》既可以作為大專院校計算機專業算法課程的教材,也可以作為計算機專業學生的研修資料和程序設計競賽的培訓教材。

王建德,著名的信息學奧林匹克競賽金牌教練,國務院特殊津貼專家,中學特級教師。他所輔導的學生在國際奧林匹克信息學競賽(IOI)中獲7金、2銀、2銅的優異成績。先后出版了22本關於程序設計和算法的學術專着。其中《實用算法的分析與程序設計》廣受好評,長期以來是國內各類程序設計競賽的必備教程。

吳永輝,博士,復旦大學計算機科學與工程系副教授,ACM—ICPC中國賽區指導委員會(ACM—ICPC Council Chirla)成員。復旦大學ACM程序設計競賽隊教練。自2001年起連續帶隊進入ACM—ICPC世界總決賽。並取得過世界第6名的佳績。主要研究方向為數據庫,在《計算機研究與發展》、《軟件學報》以及重大學術會議上發表多篇論文,參與譯着《數據通信與網絡》和《數據通信、計算機網絡與開放系統》。
 

目錄

前言
第1章 求解Ad Hoc類問題的編程實驗1
1.1 機理分析法的實驗范例1
1.2 統計分析法的實驗范例5
1.3 相關題庫10
第2章 模擬法的編程實驗35
2.1 直敘式模擬的實驗范例36
2.2 篩選法模擬的實驗范例44
2.3 構造法模擬的實驗范例51
2.4 相關題庫55
第3章 數論的編程實驗69
3.1 素數運算的實驗范例69
3.1.1 使用篩法生成素數的實驗范例69
3.1.2 測試大素數的實驗范例76
3.2 求解不定方程和同余方程的實驗范例81
3.2.1 計算最大公約數和不定方程81
3.2.2 計算同余方程和同余方程組85
3.3 積性函數的實驗范例91
3.3.1 使用歐拉函數φ(n)計算與n互質的正整數個數 92
3.3.2 使用莫比烏斯函數μ(n)計算非平方數n的質因子個數97
3.4 相關題庫102
第4章 組合分析的編程實驗118
4.1 生成排列組合的實驗范例118
4.1.1 按字典序思想生成下一排列組合118
4.1.2 按字典序思想生成所有的排列組合121
4.2 排列組合計數的實驗范例122
4.2.1 一般的排列組合計數公式123
4.2.2 兩種特殊的排列組合計數公式126
4.3 容斥原理與抽屜原理的實驗范例132
4.3.1 利用抽屜原理求解存在性問題132
4.3.2 利用容斥原理對並集計數134
4.4 波利亞定理的實驗范例140
4.4.1 波利亞定理的概念基礎141
4.4.2 利用波利亞定理計算集合在置換群作用下產生的等價類個數148
4.5 相關題庫157
第5章 貪心法的編程實驗165
5.1 體驗貪心法內涵的實驗范例165
5.2 利用數據有序化進行貪心選擇的實驗范例172
5.3 在綜合性的P類問題中使用貪心法的實驗范例181
5.4 相關題庫187
第6章 動態規划(DP)方法的編程實驗197
6.1 線性DP的實驗范例198
6.1.1 初步體驗線性DP問題198
6.1.2 子集和問題202
6.1.3 最長公共子序列問題203
6.1.4 最長遞增子序列問題206
6.2 樹形DP的實驗范例213
6.3 狀態壓縮DP的實驗范例218
6.4 單調優化1D/1D DP的實驗范例224
6.4.1 經典模型1:利用決策代價函數w的單調性優化224
6.4.2 經典模型2:利用決策區間下界的單調性優化228
6.4.3 經典模型3:利用最優決策點的凸性優化233
6.5 相關題庫236
第7章 高級數據結構的編程實驗273
7.1 后綴數組的實驗范例273
7.1.1 使用倍增算法計算名次數組和后綴數組273
7.1.2 計算最長公共前綴276
7.1.3 后綴數組的應用278
7.2 線段樹的實驗范例288
7.2.1 線段樹的基本概念和基本操作288
7.2.2 線段樹單點更新的維護290
7.2.3 線段樹子區間更新的維護293
7.3 處理特殊圖的實驗范例306
7.3.1 計算歐拉圖306
7.3.2 計算哈密爾頓圖314
7.3.3 計算最大獨立集324
7.3.4 計算割點、橋和雙連通分支327
7.4 相關題庫336
第8章 計算幾何的編程實驗354
8.1 點線面運算的實驗范例354
8.1.1 計算點積和叉積354
8.1.2 計算線段交361
8.1.3 利用歐拉公式計算多面體371
8.2 利用掃描線算法計算矩形的面積並375
8.2.1 沿垂直方向計算矩形的面積並375
8.2.2 沿水平方向計算矩形的面積並380
8.3 計算半平面交的實驗范例383
8.3.1 計算半平面交的聯機算法384
8.3.2 利用極角計算半平面交的算法390
8.4 計算凸包和旋轉卡殼的實驗范例398
8.4.1 計算凸包399
8.4.2 旋轉卡殼實驗403
8.5 相關題庫408
網路書店 類別 折扣 價格
  1. 新書
    87
    $360