注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)算法超簡(jiǎn)單:趣味游戲帶你輕松入門與實(shí)踐

算法超簡(jiǎn)單:趣味游戲帶你輕松入門與實(shí)踐

算法超簡(jiǎn)單:趣味游戲帶你輕松入門與實(shí)踐

定 價(jià):¥79.80

作 者: 童晶
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買這本書可以去


ISBN: 9787115639615 出版時(shí)間: 2024-08-01 包裝: 平裝-膠訂
開本: 16開 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書通過(guò)趣味游戲編程項(xiàng)目講解算法,提升讀者學(xué)習(xí)算法的興趣,降低讀者學(xué)習(xí)算法的難度,增強(qiáng)讀者將算法應(yīng)用于編程實(shí)踐的能力。本書共 14 章,通過(guò)猜數(shù)字、飛翔的小鳥、得分排行榜、漢諾塔、八皇后、消滅星星、貪吃蛇、走迷宮、連連看、吃豆人、滑動(dòng)拼圖、井字棋、壘積木、十步萬(wàn)度等游戲,講解順序查找算法、二分查找算法,圖形庫(kù) EasyX,插入排序算法、冒泡排序算法、選擇排序算法、快速排序算法,遞歸算法,暴力搜索算法、回溯算法,F(xiàn)loodFill 算法,常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)(數(shù)組、鏈表、隊(duì)列、棧、圖、樹)、標(biāo)準(zhǔn)模板庫(kù)(STL),十字分割算法、圖的廣度優(yōu)先搜索算法和深度優(yōu)先搜索算法,加權(quán)圖上的迪杰斯特拉算法、貪婪優(yōu)先搜索算法、A*算法,狀態(tài)空間上的搜索算法,博弈樹的極大極小值搜索算法、α-β剪枝搜索算法,動(dòng)態(tài)規(guī)劃算法,遺傳算法。本書適合想要學(xué)習(xí)基礎(chǔ)算法或練習(xí)編程實(shí)踐的讀者閱讀,也可作為高等院校數(shù)據(jù)結(jié)構(gòu)與算法相關(guān)課程或編程實(shí)踐課程的指導(dǎo)用書。讀者在閱讀本書之前需要具備基礎(chǔ)的C語(yǔ)言編程知識(shí)。

作者簡(jiǎn)介

  童晶,浙江大學(xué)計(jì)算機(jī)專業(yè)博士,河海大學(xué)副教授、碩士生導(dǎo)師、人工智能系主任。 主要從事計(jì)算機(jī)圖形學(xué)、虛擬現(xiàn)實(shí)、數(shù)字化藝術(shù)等方向的研究,發(fā)表學(xué)術(shù)論文超過(guò) 30 篇,曾獲中國(guó)發(fā)明協(xié)會(huì)發(fā)明創(chuàng)業(yè)獎(jiǎng)成果獎(jiǎng)一等獎(jiǎng)、浙江省自然科學(xué)獎(jiǎng)二等獎(jiǎng)。 積極投身于教學(xué)與學(xué)生創(chuàng)新工作,指導(dǎo)學(xué)生獲得“英特爾杯”大學(xué)生電子設(shè)計(jì)競(jìng)賽嵌入式系統(tǒng)專題邀請(qǐng)賽全國(guó)一等獎(jiǎng)、“挑戰(zhàn)杯”全國(guó)大學(xué)生課外學(xué)術(shù)科技作品競(jìng)賽全國(guó)三等獎(jiǎng)、“中國(guó)軟件杯”大學(xué)生軟件設(shè)計(jì)大賽全國(guó)一等獎(jiǎng)、中國(guó)大學(xué)生服務(wù)外包創(chuàng)新創(chuàng)業(yè)大賽全國(guó)一等獎(jiǎng)等多個(gè)獎(jiǎng)項(xiàng)。 具有 18 年的一線教學(xué)經(jīng)驗(yàn),所開設(shè)的課程在校內(nèi)廣受好評(píng),獲評(píng)河海大學(xué)優(yōu)秀主講教師。在知乎、嗶哩嘩哩、中國(guó)大學(xué) MOOC 等平臺(tái)的教學(xué)課程已有千萬(wàn)次的閱讀與學(xué)習(xí)記錄。

圖書目錄

第 1 章 猜數(shù)字..1
1.1 實(shí)現(xiàn)猜數(shù)字游戲 .. 1
1.2 順序查找 .. 2
1.3 二分查找 .. 7
1.4 算法的效率 .. 12
1.5 小結(jié) .. 13
第 2 章 飛翔的小鳥 ..14
2.1 EasyX 圖形庫(kù) .. 14
2.2 小球的自由落體 .. 17
2.3 按空格鍵讓小球向上飛 .. 18
2.4 游戲程序框架改進(jìn) .. 19
2.5 添加水管障礙物 .. 22
2.6 得分的計(jì)算與顯示 .. 24
2.7 更多水管障礙物 .. 26
2.8 圖片的使用 .. 27
2.9 小結(jié) .. 33
第 3 章 得分排行榜 .. 34
3.1 插入排序及其可視化 .. 34
3.2 冒泡排序及其可視化 .. 39
3.3 選擇排序及其可視化 .. 42
3.4 快速排序及其可視化 .. 45
3.5 拓展練習(xí):查找算法和更多排序算法的可視化 .. 51
3.6 小結(jié) .. 52
第 4 章 漢諾塔 .. 53
4.1 實(shí)現(xiàn)漢諾塔游戲 .. 53
4.1.1 定義柱子結(jié)構(gòu)體與可視化 ..54
4.1.2 通過(guò)鼠標(biāo)點(diǎn)擊選中柱子 ..56
4.1.3 移動(dòng)盤子 ..58
4.1.4 判斷盤子是否可以移動(dòng) ..59
4.1.5 提示信息與勝負(fù)判斷 ..60
4.2 遞歸求解漢諾塔問(wèn)題 .. 61
4.3 漢諾塔自動(dòng)求解過(guò)程的可視化 .. 65
4.4 拓展練習(xí):繪制分形樹 .. 68
4.5 小結(jié) .. 69
第 5 章 八皇后 .. 70
5.1 實(shí)現(xiàn)八皇后游戲 .. 70
5.1.1 繪制棋盤和提示信息 ..70
5.1.2 通過(guò)鼠標(biāo)交互繪制皇后棋子 ..72
5.1.3 游戲勝負(fù)判斷 ..74
5.2 暴力搜索 .. 76
5.2.1 八重 for 循環(huán)輸出八皇后的所有擺法 ..76
5.2.2 暴力搜索求出八皇后的所有擺法 ..77
5.3 回溯 .. 79
5.4 八皇后游戲自動(dòng)求解過(guò)程的可視化 .. 82
5.5 拓展練習(xí):一筆畫游戲、數(shù)獨(dú)游戲 .. 85
5.6 小結(jié) .. 86
第 6 章 消滅星星 .. 87
6.1 消滅星星游戲基礎(chǔ)版 .. 87
6.1.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)和畫面顯示 ..87
6.1.2 通過(guò)鼠標(biāo)點(diǎn)擊消除單個(gè)方塊 ..90
6.2 基于 FloodFill 算法消除連通的方塊 .. 91
6.3 方塊位置的更新 .. 93
6.3.1 方塊下落 ..93
6.3.2 方塊左移 ..94
6.4 游戲完善 .. 95
6.5 拓展練習(xí):掃雷游戲 .. 96
6.6 小結(jié) .. 98
第 7 章 貪吃蛇 .. 99
7.1 常見(jiàn)數(shù)據(jù)結(jié)構(gòu) .. 99
7.1.1 數(shù)組 ..99
7.1.2 鏈表 ..100
7.1.3 隊(duì)列 ..101
7.1.4 棧 ..102
7.1.5 圖 ..103
7.1.6 樹 ..103
7.2 標(biāo)準(zhǔn)模板庫(kù) .. 104
7.2.1 vector ..104
7.2.2 queue ..107
7.2.3 stack ..109
7.2.4 string ..110
7.2.5 map ..110
7.3 實(shí)現(xiàn)貪吃蛇游戲 ..111
7.3.1 數(shù)據(jù)結(jié)構(gòu)和畫面顯示 ..111
7.3.2 蛇的自動(dòng)移動(dòng) ..114
7.3.3 通過(guò)鼠標(biāo)控制蛇的移動(dòng)方向 ..114
7.3.4 添加食物和障礙物 ..116
7.3.5 蛇吃食物后的處理 ..117
7.3.6 為蛇添加眼睛 ..119
7.4 拓展練習(xí):飛機(jī)大戰(zhàn) .. 120
7.5 小結(jié) .. 120
第 8 章 走迷宮 .. 121
8.1 實(shí)現(xiàn)走迷宮游戲 .. 121
8.1.1 迷宮地圖初始化與顯示 ..121
8.1.2 添加小球 ..124
8.1.3 通過(guò)鍵盤控制小球移動(dòng) ..125
8.2 基于十字分割算法自動(dòng)生成迷宮地圖 .. 126
8.3 圖的廣度優(yōu)先搜索算法 .. 135
8.4 圖的深度優(yōu)先搜索算法 .. 137
8.5 迷宮游戲自動(dòng)求解 .. 139
8.6 小結(jié) .. 144
第 9 章 連連看 ..145
9.1 連連看游戲基礎(chǔ)版 .. 145
9.1.1 數(shù)據(jù)初始化與顯示 ..145
9.1.2 記錄和處理鼠標(biāo)點(diǎn)擊操作 ..149
9.2 基于廣度優(yōu)先搜索算法的消除判斷 .. 150
9.2.1 基于廣度優(yōu)先搜索算法的方格連線和消除 ..150
9.2.2 基于廣度優(yōu)先搜索算法限制拐彎次數(shù) ..152
9.2.3 游戲勝負(fù)的判斷與顯示 ..156
9.3 拓展練習(xí):圍住神經(jīng)貓 .. 156
9.4 小結(jié) .. 157
第 10 章 吃豆人..158
10.1 吃豆人游戲基礎(chǔ)版 .. 158
10.1.1 地圖的存儲(chǔ)與顯示 ..158
10.1.2 玩家對(duì)吃豆人的控制 ..161
10.1.3 圖片切換與動(dòng)畫效果 ..163
10.1.4 幽靈隨機(jī)移動(dòng) ..165
10.1.5 勝負(fù)判斷 ..166
10.2 迪杰斯特拉算法 .. 167
10.3 貪婪最佳優(yōu)先搜索算法與 A* 算法 .. 170
10.4 三種算法的實(shí)現(xiàn)與對(duì)比 .. 173
10.5 幽靈自動(dòng)追蹤 .. 181
10.6 小結(jié) .. 182
第 11 章 滑動(dòng)拼圖 ..183
11.1 實(shí)現(xiàn)滑動(dòng)拼圖游戲 .. 183
11.1.1 數(shù)據(jù)結(jié)構(gòu)和畫面顯示 ..183
11.1.2 生成隨機(jī)初始狀態(tài) ..186
11.1.3 鼠標(biāo)交互與勝利判斷 ..187
11.2 狀態(tài)空間上的搜索算法 .. 189
11.3 滑動(dòng)拼圖游戲的自動(dòng)求解 .. 191
11.4 拓展練習(xí):農(nóng)夫過(guò)河游戲 .. 194
11.5 小結(jié) .. 195
第 12 章 井字棋..196
12.1 雙人對(duì)戰(zhàn)井字棋 .. 196
12.1.1 數(shù)據(jù)結(jié)構(gòu)和畫面顯示 ..196
12.1.2 通過(guò)鼠標(biāo)交互下棋 ..198
12.1.3 勝負(fù)判斷 ..199
12.2 棋局的估值函數(shù) .. 201
12.3 基于博弈樹的極大極小值搜索算法實(shí)現(xiàn)人機(jī)對(duì)戰(zhàn)下棋 .. 205
12.4 基于 α-β 剪枝搜索算法實(shí)現(xiàn)人機(jī)對(duì)戰(zhàn)下棋 .. 208
12.5 拓展練習(xí):人機(jī)對(duì)戰(zhàn)五子棋 .. 212
12.6 小結(jié) .. 212
第 13 章 壘積木..213
13.1 實(shí)現(xiàn)壘積木游戲 .. 213
13.1.1 積木塊的繪制 ..213
13.1.2 積木塊的旋轉(zhuǎn) ..216
13.1.3 多個(gè)積木與畫面顯示 ..217
13.1.4 壘積木操作 ..219
13.1.5 高度統(tǒng)計(jì)與勝負(fù)判斷 ..220
13.1.6 游戲完善 ..221
13.2 遞歸回溯求解壘積木問(wèn)題 .. 222
13.3 動(dòng)態(tài)規(guī)劃求解壘積木問(wèn)題 .. 226
13.4 小結(jié) .. 231
第 14 章 十步萬(wàn)度..232
14.1 實(shí)現(xiàn)十步萬(wàn)度游戲 .. 232
14.1.1 數(shù)據(jù)結(jié)構(gòu)與畫面顯示 ..232
14.1.2 鼠標(biāo)交互與指針旋轉(zhuǎn) ..235
14.1.3 旋轉(zhuǎn)傳播與得分統(tǒng)計(jì) ..236
14.1.4 顯示旋轉(zhuǎn)過(guò)程動(dòng)畫 ..238
14.2 遺傳算法基礎(chǔ) .. 239
14.3 基于遺傳算法自動(dòng)求解十步萬(wàn)度游戲 .. 241
14.4 小結(jié) .. 249

本目錄推薦

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