注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計其他編程語言/工具常用算法深入學(xué)習(xí)實錄

常用算法深入學(xué)習(xí)實錄

常用算法深入學(xué)習(xí)實錄

定 價:¥89.00

作 者: 張子言 等著
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 編程語言與程序設(shè)計 計算機(jī)與互聯(lián)網(wǎng)

ISBN: 9787121213236 出版時間: 2013-10-01 包裝: 平裝
開本: 16開 頁數(shù): 516 字?jǐn)?shù):  

內(nèi)容簡介

  對于任何一門編程語言來說,算法都是程序的“靈魂”。正是因為算法如此重要,所以筆者精心編寫了本書,希望通過書中的內(nèi)容引領(lǐng)廣大讀者一起探討學(xué)習(xí)算法的奧秘,帶領(lǐng)廣大讀者真正步入程序開發(fā)的高級世界。本書共分15章,循序漸進(jìn)、由淺入深地詳細(xì)講解算法的核心內(nèi)容,并通過具體實例的實現(xiàn)過程演練各個知識點(diǎn)的具體用法。本書首先詳細(xì)講解算法的基礎(chǔ)知識,剖析了將算法稱為“程序靈魂”的原因。然后詳細(xì)講解算法技術(shù)的核心內(nèi)容,主要包括八大算法思想、數(shù)據(jù)結(jié)構(gòu)、樹、圖、查找、內(nèi)部排序、外部排序和文件等知識點(diǎn)的具體用法。接下來通過具體實例詳細(xì)講解各種算法經(jīng)典問題的解決方案,主要包括解決經(jīng)典的數(shù)據(jù)結(jié)構(gòu)問題、解決數(shù)學(xué)問題、解決趣味問題、解決圖像問題和解決奧賽問題的具體方案等。另外,書中還講解了算法技術(shù)在現(xiàn)實編程項目中的作用和具體用法。本書不但適合C語言的初學(xué)者學(xué)習(xí),也適合有一定程序開發(fā)基礎(chǔ)的讀者閱讀。對于有一定C/C++開發(fā)經(jīng)驗的讀者來說,本書具有很高的參考價值。

作者簡介

暫缺《常用算法深入學(xué)習(xí)實錄》作者簡介

圖書目錄

第1章 都說算法是程序的“靈魂” 1
1.1 開始學(xué)習(xí)算法 1
1.1.1 算法的特征和發(fā)展由來 1
1.1.2 何為算法 2
1.2 計算機(jī)中的算法 3
1.2.1 認(rèn)識計算機(jī)中的算法 3
1.2.2 為什么是程序的“靈魂” 4
1.3 表示算法的方法 4
1.3.1 用流程圖來表示算法 5
1.3.2 用N-S流程圖來表示算法 6
1.3.3 用計算機(jī)語言表示算法 7
1.4 學(xué)好算法的秘訣 8
第2章 分析妙趣橫生的算法思想 9
2.1 八大算法思想 9
2.2 比較“笨”的枚舉算法思想 9
2.2.1 枚舉算法基礎(chǔ) 10
2.2.2 實踐演練 10
2.3 聰明一點(diǎn)的遞推算法思想 15
2.3.1 遞推算法基礎(chǔ) 15
2.3.2 實踐演練 15
2.4 充分利用自己的遞歸算法思想 18
2.4.1 遞歸算法基礎(chǔ) 18
2.4.2 實踐演練 18
2.5 各個擊破的分治算法思想 22
2.5.1 分治算法基礎(chǔ) 23
2.5.2 實踐演練 23
2.6 貪心算法思想并不貪婪 29
2.6.1 貪心算法基礎(chǔ) 29
2.6.2 實踐演練 30
2.7 試探法算法思想是一種委婉的做法 35
2.7.1 試探法算法基礎(chǔ) 35
2.7.2 實踐演練 36
2.8 迭代算法 39
2.8.1 迭代算法基礎(chǔ) 40
2.8.2 實踐演練 40
2.9 模擬算法思想 42
2.9.1 模擬算法的思路 42
2.9.2 實踐演練 42
第3章 走在算法的路上之——分析簡單的數(shù)據(jù)結(jié)構(gòu) 47
3.1 學(xué)習(xí)編程的注意事項 47
3.2 什么是線性表 47
3.2.1 線性表的特性 48
3.2.2 順序表操作 49
3.2.3 鏈表操作 60
3.3 守規(guī)矩的先進(jìn)先出的隊列 74
3.3.1 隊列基礎(chǔ) 74
3.3.2 鏈隊列和循環(huán)隊列 75
3.3.3 隊列的基本操作 75
3.3.4 隊列的鏈?zhǔn)酱鎯?76
3.4 后進(jìn)先出的棧 83
3.4.1 什么是棧 83
3.4.2 棧的基本分類 84
3.4.3 實踐演練 87
第4章 走在算法的路上之——樹 91
4.1 樹引發(fā)的關(guān)系 91
4.1.1 樹的概念 92
4.1.2 何謂二叉樹 94
4.1.3 二叉樹存儲 96
4.1.4 操作二叉樹 99
4.1.5 遍歷二叉樹 102
4.1.6 測試二叉樹 106
4.1.7 線索二叉樹 113
4.1.8 線索二叉樹的表示 113
4.1.9 實踐演練線索二叉樹的操作 116
4.2 霍夫曼樹 121
4.2.1 霍夫曼樹基礎(chǔ) 121
4.2.2 實踐演練 123
第5章 走在算法的路上之——圖 131
5.1 從哥尼斯堡七橋問題說起 131
5.2 幾個相關(guān)概念 132
5.3 存儲結(jié)構(gòu) 136
5.3.1 表示頂點(diǎn)之間相鄰關(guān)系的鄰接矩陣 137
5.3.2 鄰接表 138
5.3.3 合作的產(chǎn)物——十字鏈表 141
5.3.4 實踐演練 143
5.4 遍歷圖 148
5.4.1 深度優(yōu)先搜索 148
5.4.2 廣度優(yōu)先搜索 151
5.4.3 遍歷算法的那點(diǎn)事 155
5.4.4 測試圖的遍歷實例 157
5.5 圖的連通性 160
5.5.1 無向圖的連通分量 161
5.5.2 最小生成樹 161
5.5.3 關(guān)鍵路徑 165
5.6 尋求最短的路徑 170
5.6.1 求某一頂點(diǎn)到其他各頂點(diǎn)的最短路徑 170
5.6.2 任意一對頂點(diǎn)間的最短路徑 174
第6章 體驗查找算法帶來的魅力 179
6.1 幾個相關(guān)概念 179
6.2 基于線性表的查找法 180
6.2.1 順序查找法 180
6.2.2 折半查找法 183
6.2.3 分塊查找法 186
6.3 基于樹的查找 188
6.3.1 二叉排序樹 188
6.3.2 平衡二叉排序樹 203
6.4 哈希法 209
6.4.1 哈希法基礎(chǔ) 209
6.4.2 處理沖突 211
6.4.3 哈希表的查找過程 212
6.5 索引查找 215
6.5.1 索引查找的過程 215
6.5.2 實踐演練 215
第7章 內(nèi)部排序 220
7.1 排序基礎(chǔ) 220
7.1.1 排序的目的和過程 220
7.1.2 內(nèi)部排序與外部排序 221
7.1.3 穩(wěn)定排序與不穩(wěn)定排序 221
7.2 霸道的插入排序 222
7.2.1 直接插入排序 222
7.2.2 折半插入排序 225
7.2.3 表插入排序 226
7.2.4 希爾排序 227
7.3 交換類排序法 230
7.3.1 冒泡排序(相鄰比序法) 231
7.3.2 快速排序 232
7.4 選擇類排序法 237
7.4.1 直接選擇排序 237
7.4.2 樹形選擇排序 238
7.4.3 堆排序 239
7.4.4 實踐演練 242
7.5 歸并排序 245
7.5.1 歸并排序思想 245
7.5.2 二路歸并算法的思路 246
7.5.3 實現(xiàn)歸并排序 248
7.5.4 實踐演練 250
7.6 基數(shù)排序 253
7.6.1 多關(guān)鍵字排序 253
7.6.2 鏈?zhǔn)交鶖?shù)排序 254
第8章 外部排序和文件 258
8.1 外部信息方便了我們的生活 258
8.1.1 磁帶存儲器 258
8.1.2 磁盤存儲器 259
8.2 外部排序的基本方法 261
8.2.1 磁盤排序 261
8.2.2 磁帶排序 266
8.3 什么是文件 268
8.4 文件的組織方式 270
8.4.1 順序文件 270
8.4.2 索引文件 270
8.4.3 ISAM文件 271
8.4.4 VSAM文件 273
8.4.5 散列文件 275
8.4.6 多關(guān)鍵字文件 275
第9章 從應(yīng)聘開始談算法 277
9.1 面試 277
9.1.1 面試前的準(zhǔn)備 277
9.1.2 常見的面試錯誤 278
9.2 常見的算法筆試題 279
第10章 經(jīng)典的數(shù)據(jù)結(jié)構(gòu)問題 303
10.1 約瑟夫環(huán) 303
10.2 大整數(shù)運(yùn)算 306
10.2.1 數(shù)組實現(xiàn)大整數(shù)運(yùn)算 306
10.2.2 使用鏈表實現(xiàn)大整數(shù)運(yùn)算 315
10.3 計算機(jī)進(jìn)制轉(zhuǎn)換 321
10.4 將中序表達(dá)式轉(zhuǎn)換為后序表達(dá)式 325
第11章 解決數(shù)學(xué)問題 331
11.1 最大公約數(shù)和最小公倍數(shù) 331
11.2 哥德巴赫猜想 333
11.3 完全數(shù) 336
11.4 親密數(shù) 338
11.5 自守數(shù) 340
11.6 方程求解 341
11.6.1 高斯消元法解方程組 342
11.6.2 用二分法解非線性方程 346
11.6.3 用牛頓迭代法解非線性方程 346
11.7 矩陣運(yùn)算 348
11.8 一元多項式運(yùn)算 352
11.8.1 一元多項式的加法運(yùn)算 352
11.8.2 一元多項式的減法運(yùn)算 357
第12章 解決趣味問題 366
12.1 歌星大獎賽 366
12.2 借書方案 367
12.3 打魚還是曬網(wǎng) 368
12.4 捕魚和分魚 370
12.5 出售金魚 371
12.6 平分七筐魚 372
12.7 繩子的長度和井深 373
12.8 雞兔同籠 375
12.9 漢諾塔 376
12.9.1 遞歸法 376
12.9.2 非遞歸法 378
12.10 馬踏棋盤 380
12.10.1 使用循環(huán)查找法 380
12.10.2 使用遞歸法 384
12.10.3 使用棧方法 386
12.11 三色球問題 390
12.12 新郎和新娘問題 391
12.13 計算年齡幾何 394
第13章 解決圖像問題 395
13.1 八皇后問題 395
13.1.1 使用遞歸法 395
13.1.2 使用循環(huán)法 398
13.2 生命游戲 401
13.3 黑白棋問題 406
13.4 騎士迷宮問題 415
13.5 迷宮中的所有路徑 422
第14章 算法的經(jīng)典問題 425
14.1 存錢利息最大化 425
14.2 背包問題 428
14.2.1 使用動態(tài)規(guī)劃法 429
14.2.2 使用遞歸法 434
14.3 農(nóng)夫過河 437
14.4 三色旗 440
14.5 取石子 443
14.6 停車場管理 447
14.7 約瑟夫生者死者游戲 456
第15章 解決奧賽問題 459
15.1 孿生素數(shù)問題 459
15.2 百錢買百雞問題 461
15.3 馬克思手稿中的數(shù)學(xué)題 463
15.4 正整數(shù)分解為質(zhì)因數(shù) 464
15.5 水仙花數(shù) 465
15.6 素數(shù) 466
15.6.1 求1000以內(nèi)的所有素數(shù) 466
15.6.2 求1000以內(nèi)的回文素數(shù) 467
15.6.3 求1000以內(nèi)的平方回文數(shù) 469
15.7 階乘 470
15.7.1 使用遞歸法 470
15.7.2 實現(xiàn)大數(shù)的階乘 471
15.8 青蛙過河 477
15.9 過河卒 481
15.10 素數(shù)組合 484
15.11 校驗碼問題 487
15.12 老師排座位 488
15.13 模擬立體圖 491
15.14 采藥問題 495
15.15 等價表達(dá)式問題 497
15.16 購買年貨問題 501

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號