算法設計與分析(2022年化學工業出版社出版的圖書)

算法設計與分析(2022年化學工業出版社出版的圖書)

本詞條是多義詞,共14個義項
更多義項 ▼ 收起列表 ▲

《算法設計與分析》是2022年化學工業出版社出版的圖書,作者是李夢雯、李曉、洪留榮。

基本介紹

  • 中文名:算法設計與分析
  • 作者:李夢雯、李曉、洪留榮
  • 出版時間:2022年1月1日
  • 出版社:化學工業出版社
  • 頁數:264 頁
  • ISBN:9787122398864
  • 定價:69.00 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,

內容簡介

本書以算法設計策略為知識單元,系統地介紹了算法設計與分析的概念和方法。全書內容包括算法的基本概念、排序及並查集算法、遞歸與分治策略、貪婪算法、動態規划算法、回溯法、分支與限界法、隨機算法、NP完全問題等。本書從一些經典問題入手,分析如何求解問題,然後使用偽代碼對問題的算法進行描述,最後對算法的時間複雜度進行分析。為了便於讀者學習和實踐,本書採用C語言對算法進行描述,可讀性強。每章內容後附有習題,便於讀者複習鞏固。
本書可作為高等院校計算機專業本科生和研究生的教材,也可作為希望進行算法學習和研究的相關人員的參考資料。

圖書目錄

第1章 算法的基本概念
1.1 算法的定義和特徵 1
1.2 算法複雜性分析 3
1.3 漸進記號 5
1.4 最好情況、最壞情況和平均情況分析 10
1.5 遞歸算法分析 14
習題 20
第2章 排序及並查集算法
2.1 冒泡排序 24
2.2 選擇排序 25
2.3 合併排序 26
2.3.1 merge算法 26
2.3.2 合併排序算法的具體內容 27
2.3.3 合併排序算法分析 30
2.4 堆及堆排序 30
2.4.1 堆的概念及性質 31
2.4.2 堆的操作 32
2.4.3 堆排序 39
2.4.4 堆排序的套用 40
2.5 桶排序 41
2.5.1 桶排序的基本步驟 41
2.5.2 桶排序的時間複雜度 43
2.6 基數排序 44
2.6.1 基數排序的基本思想 44
2.6.2 基數排序算法的實現 45
2.6.3 基數排序算法的合理性證明 47
2.6.4 基數排序的複雜度分析 47
2.6.5 基數排序的套用 48
2.7 並查集算法 48
習題 52
第3章 遞歸與分治
3.1 遞歸算法 54
3.1.1 遞歸算法的基本思想 55
3.1.2 遞歸算法實例 55
3.2 分治法 60
3.2.1 分治法的基本思想 60
3.2.2 分治法的步驟 63
3.2.3 套用分治法進行合併排序 64
3.2.4 快速排序 66
3.2.5 快速排序的改進 70
3.2.6 平面最近點對問題 71
3.2.7 BFPRT算法(TOP-K問題) 81
3.2.8 棋盤覆蓋問題 84
習題 87
第4章 貪婪法
4.1 貪婪算法 89
4.2 貪婪法的設計思想 92
4.3 區間調度問題 92
4.4 背包問題的貪婪算法 94
4.5 狄斯奎諾(Dijkstra)算法 97
4.5.1 狄斯奎諾算法的核心原理 97
4.5.2 狄斯奎諾算法的步驟描述 99
4.5.3 狄斯奎諾算法的實現 101
4.5.4 狄斯奎諾算法的不足 105
4.6 數列極差問題 106
4.6.1 問題分析 106
4.6.2 極差問題的算法設計 107
4.6.3 極差問題的時間和空間複雜度分析 108
4.7 分數轉化問題 108
4.8 被3整除的元素最大和問題 110
4.9 跳躍遊戲問題 111
習題 114
第5章 動態規劃
5.1 動態規劃基本概述 116
5.1.1 動態規劃的基本術語 118
5.1.2 動態規劃數學模型建立的一般步驟 121
5.2 動態規劃的基本性質 123
5.3 貨郎擔問題 124
5.4 多段圖最短路徑問題 127
5.4.1 多段圖的計算過程 128
5.4.2 多段圖的動態規划算法實現 129
5.5 設備更新問題 131
5.6 最長公共子序列 134
5.6.1 最長公共子序列的搜尋過程 135
5.6.2 最長公共子序列算法實現 137
5.7 0/1背包問題 139
5.7.1 0/1背包問題求解分析 140
5.7.2 0/1背包問題的實現 141
5.8 最大連續子序列和問題 143
5.9 最優二叉搜尋樹 145
5.9.1 OBST問題的動態規劃求解過程 147
5.9.2 OBST問題的實現過程 149
習題 151
第6章 回溯
6.1 問題的解空間和狀態空間樹 153
6.2 狀態空間樹的動態搜尋 154
6.3 回溯算法的一般性描述 157
6.4 圖的著色問題 160
6.4.1 圖著色問題的求解過程分析 161
6.4.2 圖著色問題算法實現 163
6.5 n皇后問題 165
6.5.1 n皇后問題的求解過程分析 165
6.5.2 n皇后問題的求解實現 166
6.5.3 數獨問題 168
6.6 一些經典算法的回溯求解 172
習題 182
第7章 分支與限界
7.1 分支與限界算法 184
7.2 作業分配問題 186
7.2.1 分支限界法解作業分配問題的思想方法 186
7.2.2 分支限界法解作業分配問題算法的實現 188
7.3 單源最短路徑問題 192
7.3.1 分支限界法解單源最短路徑問題的思想方法 192
7.3.2 分支限界法解單源最短路徑問題算法的實現 194
7.4 0/1背包問題 197
7.4.1 分支限界法解0/1背包問題的思想方法 197
7.4.2 0/1背包問題分支限界算法的實現 200
7.5 貨郎擔問題 204
7.5.1 費用矩陣的特性及歸約 204
7.5.2 分支限界法解最短漢密爾頓迴路的思想 205
7.5.3 貨郎擔問題的求解過程 208
7.5.4 幾個輔助函式的實現 212
7.5.5 貨郎擔問題分支限界算法的實現 217
習題 219
第8章 隨機算法
8.1 隨機化算法 222
8.1.1 為什麼要隨機化 222
8.1.2 隨機算法 222
8.2 隨機數發生器 223
8.3 數值機率算法 225
8.4 拉斯維加斯算法 229
8.4.1 隨機快速排序算法 230
8.4.2 隨機選擇算法 231
8.4.3 n皇后問題的隨機算法 232
8.4.4 隨機字元串匹配算法 234
8.4.5 整數因子 239
8.5 蒙特卡羅算法 242
8.5.1 函式極大值估計問題 243
8.5.2 主元素問題 244
8.5.3 素數測試問題 246
8.6 隨機算法的套用 251
習題 252
第9章 NP完全問題
9.1 判定問題和最佳化問題 254
9.2 P類問題和NP類問題 255
9.3 NP完全問題 260
習題 262
參考文獻

相關詞條

熱門詞條

聯絡我們