《妙趣橫生的算法(C語言實現)第2版》是出版於2015年1月15日的一本圖書。
基本介紹
- 書名:妙趣橫生的算法(C語言實現)第2版
- ISBN:9787302389477
- 定價:59.8元
- 裝幀:平裝
- 印次:2-1
圖書簡介,目錄,
圖書簡介
本書在第1版的基礎上對原書內容做了大量的調整和補充,並將書中的實例代碼在Visual Studio 2010環境下重新編譯通過,以適應當前技術的發展和閱讀需求。本書內容涵蓋了算法入門的必備基礎知識和大量的趣味算法題、面試題和ACM競賽題等。通過學習本書內容,可以開闊讀者的視野,幫助讀者理解算法,提高編程興趣和能力,並提高C語言編程能力,常見算法題及編程競賽中的相關知識。
目錄
第1篇算法基礎
第1章數據結構基礎 2
1.1什麼是數據結構 2
1.2順序表 2
1.2.1順序表的定義 3
1.2.2向順序表中插入元素 4
1.2.3從順序表中刪除元素 6
1.2.4實例與分析 7
1.3鍊表 11
1.3.1創建一個鍊表 12
1.3.2向鍊表中插入結點 13
1.3.3從鍊表中刪除結點 14
1.3.4銷毀一個鍊表 15
1.3.5實例與分析 16
1.4棧 18
1.4.1棧的定義 18
1.4.2創建一個棧 19
1.4.3入棧操作 20
1.4.4出棧操作 21
1.4.5棧的其他操作 22
1.4.6實例與分析 23
1.5佇列 25
1.5.1佇列的定義 25
1.5.2創建一個佇列 26
1.5.3入佇列操作 27
1.5.4出佇列操作 28
1.5.5銷毀一個佇列 29
1.5.6循環佇列的概念 29
1.5.7循環佇列的實現 30
1.5.8實例與分析 32
1.6樹結構 34
1.6.1樹的概念 34
1.6.2樹結構的計算機存儲形式 35
1.6.3二叉樹的定義 35
1.6.4二叉樹的遍歷 36
1.6.5創建二叉樹 37
1.6.6實例與分析 38
1.7圖結構 40
1.7.1圖的概念 40
1.7.2圖的存儲形式 41
1.7.3鄰接表的定義 42
1.7.4圖的創建 43
1.7.5圖的遍歷(1)——深度優先搜尋 45
1.7.6圖的遍歷(2)——廣度優先搜尋 47
1.7.7實例與分析 49
1.8章後習題 52
第2章常用的查找與排序方法 55
2.1順序查找 55
2.2折半查找 58
2.3排序的概述 61
2.4直接插入排序 62
2.5選擇排序 64
2.6冒泡排序 67
2.7希爾排序 69
2.8快速排序 72
2.9堆排序 76
2.10各種排序算法性能比較 82
2.11章後習題 83
第3章常用的算法思想 86
3.1什麼是算法 86
3.2算法的分類表示及測評 87
3.2.1算法的分類 87
3.2.2算法的表示 87
3.2.3算法性能的測評 89
3.3窮舉法思想 89
3.3.1基本概念 89
3.3.2尋找給定區間的素數 90
3.3.3TOM的借書方案 91
3.4遞歸與分治思想 92
3.4.1基本概念 92
3.4.2計算整數的劃分數 93
3.4.3遞歸的折半查找算法 96
3.5貪心算法思想 98
3.5.1基本概念 98
3.5.2最優裝船問題 99
3.6回溯法 102
3.6.1基本概念 102
3.6.2四皇后問題求解 104
3.7數值機率算法 108
3.7.1基本概念 108
3.7.2計算定積分 108
3.8章後習題 110
第2篇常用算法實例解析
第4章編程基本功 114
4.1字元類型統計器 114
4.2計算字元的ASCII碼 115
4.3嵌套if-else語句的妙用 116
4.4基於switch語句的解碼器 118
4.5判斷閏年 119
4.6指針變數作參數 120
4.7矩陣的轉置運算 121
4.8矩陣的乘法運算 124
4.9巧用位運算 125
4.10檔案的讀寫 126
4.11計算檔案的大小 128
4.12記錄程式的運行時間 129
4.13十進制/二進制轉化器 130
4.14列印特殊圖案 131
4.15列印楊輝三角 133
4.16複雜級數的前n項和 135
4.17尋找矩陣中的“鞍點” 137
4.18n階勒讓德多項式求解 138
4.19遞歸反向輸出字元串 140
4.20一年中的第幾天 141
第5章數學趣題(一) 143
5.1舍罕王的失算 143
5.2求兩個數的最大公約數和最低公倍數 144
5.3歌德巴赫猜想的近似證明 145
5.4三色球問題 148
5.5百錢買百雞問題 150
5.6判斷迴文數字 152
5.7填數字遊戲求解 153
5.8新郎和新娘 155
5.9愛因斯坦的階梯問題 157
5.10尋找水仙花數 159
5.11猴子吃桃問題 160
5.12兔子產仔問題 161
5.13分解質因數 162
5.14常勝將軍 165
5.15求π的近似值 166
5.16魔幻方陣 169
5.17移數字遊戲 172
5.18數字的全排列 174
5.19完全數 176
5.20親密數 178
5.21數字翻譯器 180
5.22遞歸實現數制轉換 183
5.23誰在說謊 185
第6章數學趣題(二) 187
6.1連續整數固定和問題 187
6.2表示成兩個數的平方和 189
6.3具有特殊性質的數 191
6.4驗證角谷猜想 192
6.5驗證四方定理 194
6.6遞歸法尋找最小值 197
6.7尋找同構數 199
6.8驗證尼科徹斯定理 201
6.9三重回文數字 203
6.10馬克思手稿中的數學題 205
6.11漁夫捕魚問題 206
6.12尋找假幣 208
6.13計算組合數 212
6.14遞歸法求冪 213
6.15漢諾塔 215
6.16選美比賽 217
第7章數據結構趣題 222
7.1順序表的就地逆置 222
7.2動態數列排序 224
7.3在原表空間進行鍊表的歸併 227
7.4約瑟夫環 232
7.5二進制/八進制轉換器 236
7.6回文字元串的判定 241
7.7括弧匹配 245
7.8魔王語言翻譯 249
7.9動態雙向鍊表的套用 253
7.10判斷完全二叉樹 259
7.11動畫模擬創建二叉樹 263
7.12列印符號三角形 267
7.13遞歸函式的非遞歸求解 271
7.14任意長度整數加法 274
第8章數值計算問題 282
8.1遞推化梯形法求解定積分 282
8.2求解低階定積分 285
8.3疊代法開平方運算 288
8.4牛頓法解方程 291
8.5歐拉方法求解微分方程 293
8.6改進的歐拉方法求解微分方程 295
8.7雅可比疊代公式求解線性方程組 298
第9章綜合題 302
9.1破碎的砝碼 302
9.2計算24的問題 305
9.3馬踏棋盤 311
9.40-1背包問題 317
9.5八皇后問題求解 323
9.6簡易檔案加密/解密系統 327
第10章算法設計與數據結構面試題精粹 335
10.1常見的算法設計題 335
10.2常見的數據結構題 374
第11章ACM程式設計競賽題目選講 398
11.1奧斯卡獎章 398
11.2準備就緒? 403
11.3兔子 406
11.4階乘之和 412
妙趣橫生的算法(C++語言實現)
目錄