定 價:45 元
叢書名:普通高等教育軟件工程“十三五”規(guī)劃教材
- 作者:王幸民 張曉霞
- 出版時間:2018/1/1
- ISBN:9787115472663
- 出 版 社:人民郵電出版社
- 中圖法分類:TP301.6
- 頁碼:204
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書以程序設計作為基礎,數(shù)據(jù)結構作為工具,六大核心算法作為目標,系統(tǒng)地介紹了算法設計中典型問題的求解過程。
全書內(nèi)容包括算法設計基礎、遞歸算法、分治算法、貪心算法、動態(tài)規(guī)劃算法、回溯算法、分支限界算法、實驗指導。六大核心算法后都配有典型問題的C 代碼,并結合實驗指導輔助讀者進行算法實踐訓練。
1.針對精簡學時的教學:講算法*核心的問題,算法描述采用偽碼,力求突出對問題本身的分析和求解方法的闡述。
2.在各章中體現(xiàn)了將同一算法的設計方法和設計策略用于求解不同問題,更便于學生體會、掌握算法設計的思路。
3.在敘述中不但注意理論的嚴謹,也精選了大量生動有趣的例子,每章都配有難度適當?shù)木毩,適合教學使用
4.提供典型算法的C 實現(xiàn)代碼
王幸民 太原理工大學高工。1984年7月畢業(yè)于山西大學計算數(shù)學專業(yè),長期從事計算機課程的教學與科研工作,講授程序設計技術基礎(C語言)、面向對象程序設計基礎(C )、算法設計與分析、大學計算機基礎、人工智能、管理信息系統(tǒng)等課程,主編與參編多本教材。
張曉霞,太原理工大學教師。長期從事計算機課程的基礎教學與研究工作,主講大學計算機基礎、程序設計技術基礎(C語言)、程序設計技術基礎(VB語言)、算法設計與分析、微機原理及應用、計算機接口技術等課程,主編和參編過多本教材。
第1章 算法設計與分析基礎 1
1.1 算法概述 2
1.1.1 什么是算法 2
1.1.2 學習算法的重要性 6
1.2 問題的求解過程 6
1.2.1 問題及問題的求解過程 6
1.2.2 算法設計與算法表示 7
1.2.3 算法確認和算法分析 8
1.3 算法的復雜性分析 8
1.3.1 算法評價的基本原則 9
1.3.2 影響程序運行時間的因素 10
1.3.3 算法復雜度 11
1.3.4 使用程序步分析算法 14
1.3.5 漸近表示法 15
1.4 算法設計中常見的重要問題類型 18
1.4.1 排序問題 18
1.4.2 查找問題 19
1.4.3 圖問題 19
1.4.4 組合問題 20
1.4.5 幾何問題 20
1.4.6 數(shù)值問題 21
1.4.7 其他常見問題 21
1.5 常用的算法設計方法 22
1.5.1 數(shù)值計算算法 23
1.5.2 非數(shù)值計算算法 24
1.6 小結 28
練習題 29
第2章 遞歸算法 31
2.1 遞歸算法的思想 32
2.1.1 遞歸算法的特性 32
2.1.2 遞歸算法的執(zhí)行過程 32
2.1.3 遞推關系 33
2.2 遞歸法應用舉例 37
2.2.1 漢諾塔問題 37
2.2.2 斐波那契數(shù)列問題 39
2.2.3 八皇后問題 40
2.3 典型問題的C 程序 43
2.4 小結 48
練習題 48
第3章 分治算法 50
3.1 分治算法的思想 51
3.2 排序問題中的分治算法 52
3.2.1 歸并排序 53
3.2.2 快速排序 55
3.3 查找問題中的分治算法 57
3.3.1 折半查找 57
3.3.2 選擇問題 59
3.4 組合問題中的分治算法 60
3.4.1 最大子段和問題 60
3.4.2 棋盤覆蓋問題 62
3.5 典型問題的C 程序 64
3.6 小結 70
練習題 71
第4章 貪心算法 72
4.1 貪心算法的思想 73
4.1.1 問題的提出 73
4.1.2 貪心算法設計思想 73
4.1.3 貪心算法的基本要素 74
4.1.4 貪心算法的求解過程 74
4.2 組合問題中的貪心算法 75
4.2.1 背包問題 75
4.2.2 多機調(diào)度問題 77
4.3 圖問題中的貪心算法 78
4.3.1 單源最短路徑問題 78
4.3.2 最小代價生成樹 80
4.4 典型問題的C 程序 84
4.5 小結 92
練習題 92
第5章 動態(tài)規(guī)劃算法 94
5.1 動態(tài)規(guī)劃算法的思想 95
5.2 查找問題中的動態(tài)規(guī)劃算法 97
5.2.1 最優(yōu)二叉搜索樹 97
5.2.2 近似串匹配問題 100
5.3 圖問題中的動態(tài)規(guī)劃算法 102
5.3.1 多段圖問題 102
5.3.2 每對結點間的最短距離 105
5.4 組合問題中的動態(tài)規(guī)劃算法 108
5.4.1 0/1背包問題 108
5.4.2 最長公共子序列 112
5.4.3 流水作業(yè)調(diào)度 115
5.5 典型問題的C 程序 120
5.6 小結 125
練習題 126
第6章 回溯算法 128
6.1 回溯算法的思想 129
6.1.1 基本概念 129
6.1.2 基本思路 130
6.1.3 回溯算法的適用條件 132
6.1.4 回溯算法的效率估計 132
6.2 組合問題中的回溯算法 133
6.2.1 裝載問題 133
6.2.2 0/1背包問題 134
6.2.3 n皇后問題 136
6.2.4 圖的m著色問題 139
6.2.5 子集和數(shù)問題 141
6.3 圖問題中的回溯算法 143
6.3.1 深度優(yōu)先搜索 143
6.3.2 貨郎(TSP)問題 143
6.3.3 最大團(MCP)問題 145
6.3.4 哈密頓環(huán)問題 146
6.4 算法效率的影響因素及改進途徑 148
6.4.1 影響算法效率的因素 148
6.4.2 回溯算法的改進途徑 148
6.5 典型問題的C 程序 148
6.6 小結 165
練習題 165
第7章 分支限界算法 167
7.1 分支限界算法的思想 168
7.2 求最優(yōu)解的分支限界算法 170
7.2.1 FIFO分支限界算法 171
7.2.2 LC分支限界算法 172
7.3 組合問題中的分支限界算法 173
7.3.1 0/1背包問題 173
7.3.2 帶限期的作業(yè)排序 175
7.4 圖問題中的分支限界算法 179
7.4.1 旅行商問題 179
7.4.2 單源點最短路徑問題 182
7.5 典型問題的C 程序 184
7.6 小結 188
練習題 188
附錄 實驗指導 190
實驗一 遞歸與分治算法 191
1.1 實驗目的與要求 191
1.2 實驗課時 191
1.3 實驗原理 191
1.4 實驗題目 191
1.5 思考題 192
實驗二 貪心算法 192
2.1 實驗目的與要求 192
2.2 實驗課時 192
2.3 實驗原理 192
2.4 實驗題目 193
2.5 思考題 194
實驗三 動態(tài)規(guī)劃算法 194
3.1 實驗目的與要求 194
3.2 實驗課時 195
3.3 實驗原理 195
3.4 實驗題目 195
3.5 思考題 197
實驗四 回溯算法 197
4.1 實驗目的與要求 197
4.2 實驗課時 197
4.3 實驗原理 197
4.4 實驗題目 198
4.5 思考題 199
實驗五 分支限界算法 199
5.1 實驗目的與要求 199
5.2 實驗課時 200
5.3 實驗原理 200
5.4 實驗題目 200
5.5 思考題 203
參考文獻 204