会员   密码 您忘记密码了吗?
1,572,101 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

浏览历史

当前位置: 首页 > 简体书 > 圖解數據結構:使用C#(視頻教學版)
圖解數據結構:使用C#(視頻教學版)
上一张
下一张
prev next

圖解數據結構:使用C#(視頻教學版)

作者: 吳燦銘,胡昭民
出版社: 清華大學出版社
出版日期: 2022-11-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT534.00
市场价格: RM96.00
本店售价: RM85.44
促销价: RM84.48
剩余时间: 请稍等, 正在载入中...
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

這是一本綜合講述數據結構及其算法的入門書,全書採用圖文結合講解的方式,力求讓讀者易於學習和掌握。全書從基本的數據結構概念開始講起,內容包括數組結構、佇列、堆疊、樹結構、排序、查找等;接著介紹常用的算法,包括分治法、遞迴法、貪心法、動態規劃法、反覆運算法、枚舉法、回溯法等,並為每個經典的算法都提供了C# 程式設計語言編寫的完整範例程式;最後在每章末尾都安排了大量的習題,這些題目包含各類考試的例題,希望讀者能靈活地應用所學的各種知識。本書圖文並茂,敘述簡潔、清晰,範例豐富,可操作性強,針對具有一定編程能力又想增加編程“深度”的人員或學生,是一本普及型的數據結構教科書和自學參考書。


作者介紹

吳燦銘
 
現任榮欽科技股份有限公司執行長,美國Rochester Institute of Technology計算機科學研究所畢業,長期從事資訊教育及計算機圖書寫作的工作,計算機圖書著作包括計算器概論、數據結構、辦公室電子數據處理、互聯網等相關題材,並監製過多套遊戲以及教學軟體的研發。


目錄

第1章 數據結構與算法 1
1.1 數據結構的定義 1
1.1.1 數據與信息 2
1.1.2 數據的特性 2
1.2 算法 3
1.2.1 到處都是算法 4
1.2.2 算法的定義 5
1.3 算法性能的分析 7
1.3.1 Big-Oh 7
1.3.2 Ω(omega) 10
1.3.3 θ(theta) 10
1.4 常見算法介紹 10
1.4.1 分治法 10
1.4.2 遞迴法 11
1.4.3 貪心法 14
1.4.4 動態規劃法 15
1.4.5 反覆運算法 16
1.4.6 枚舉法 17
1.5 認識程式設計 19
1.5.1 程式開發流程 19
1.5.2 結構化程式設計 19
1.5.3 物件導向程式設計 20
本章習題 22

第2章 數組結構 24
2.1 線性表簡介 24
2.2 認識數組 25
2.2.1 一維數組 26
2.2.2 二維數組 28
2.2.3 三維數組 31
2.2.4 n維數組 34
2.3 矩陣 35
2.3.1 矩陣相加 36
2.3.2 矩陣相乘 37
2.3.3 轉置矩陣 40
2.3.4 疏鬆陣列 42
2.3.5 上三角矩陣 45
2.3.6 下三角矩陣 49
2.3.7 帶狀矩陣 53
2.4 數組與多項式 54
本章習題 56

第3章 鏈表 58
3.1 動態分配記憶體 58
3.2 單向鏈表 59
3.2.1 建立單向鏈表 60
3.2.2 單向鏈表中節點的刪除 64
3.2.3 單向鏈表中新節點的插入 68
3.2.4 單向鏈表的反轉 72
3.2.5 單向鏈表的串接 75
3.2.6 多項式鏈表標記法 76
3.3 環形鏈表 82
3.3.1 環形鏈表中新節點的插入 82
3.3.2 環形鏈表中節點的刪除 83
3.3.3 環形鏈表的串接 86
3.3.4 疏鬆陣列的環形鏈表標記法 89
3.4 雙向鏈表 91
3.4.1 雙向鏈表的定義 91
3.4.2 雙向鏈表中新節點的插入 92
3.4.3 雙向鏈表中節點的刪除 93
本章習題 96

第4章 堆疊 98
4.1 堆疊簡介 98
4.1.1 用數組實現堆疊 99
4.1.2 用鏈表實現堆疊 104
4.2 堆疊的應用 107
4.2.1 漢諾塔問題 108
4.2.2 老鼠走迷宮 114
4.2.3 八皇后問題 119
4.3 算術運算式的標記法 122
4.3.1 中序法求值 123
4.3.2 前序法求值 124
4.3.3 後序法求值 125
4.4 中序法轉為前序法與後序法 126
4.4.1 二叉樹法 126
4.4.2 括弧法 126
4.4.3 堆疊法 128
4.5 前序法與後序法運算式轉換成中序法運算式 133
4.5.1 括弧法 133
4.5.2 堆疊法 134
本章習題 136

第5章 佇列 138
5.1 認識佇列 138
5.1.1 佇列的基本操作 139
5.1.2 用數組來實現佇列 139
5.1.3 用鏈表來實現佇列 142
5.2 環形佇列 144
5.3 雙向佇列 148
5.4 優先佇列 151
本章習題 151

第6章 樹 153
6.1 樹的基本概念 154
6.2 二叉樹 156
6.2.1 二叉樹定義 156
6.2.2 特殊二叉樹簡介 157
6.3 二叉樹的存儲方式 159
6.3.1 用一維數組來實現二叉樹 159
6.3.2 用鏈表來實現二叉樹 161
6.4 二叉樹的遍歷 163
6.4.1 中序遍歷 164
6.4.2 後序遍歷 165
6.4.3 前序遍歷 165
6.4.4 二叉樹遍歷的實現 166
6.4.5 二叉運算樹 170
6.5 二叉樹的高級研究 175
6.5.1 二叉排序樹 175
6.5.2 二叉查找樹 179
6.5.3 線索二叉樹 182
6.6 樹的二叉樹標記法 188
6.6.1 樹轉化為二叉樹 188
6.6.2 森林轉化為二叉樹 190
6.6.3 樹與森林的遍歷 191
6.6.4 確定唯一二叉樹 194
6.7 優化二叉查找樹 195
6.7.1 擴充二叉樹 195
6.7.2 哈夫曼樹 196
6.8 平衡樹 197
6.8.1 平衡樹的定義 197
6.8.2 B樹 199
本章習題 200

第7章 圖 203
7.1 圖的簡介 204
7.1.1 圖的定義 204
7.1.2 無向圖 205
7.1.3 有向圖 206
7.2 圖的數據標記法 207
7.2.1 鄰接矩陣法 207
7.2.2 鄰接鏈表法 211
7.2.3 鄰接複合鏈表法 214
7.2.4 索引表格法 216
7.3 圖的遍歷 218
7.3.1 深度優先遍歷 218
7.3.2 廣度優先遍歷 221
7.4 生成樹 224
7.5 最小生成樹 225
7.5.1 Prim算法 226
7.5.2 Kruskal算法 227
7.6 圖的最短路徑 232
7.6.1 單點對全部頂點——Dijkstra算法與A*算法 232
7.6.2 兩兩頂點間的最短路徑——Floyd算法 238
7.7 AOV網路與拓撲排序 242
7.8 AOE網路 245
本章習題 246

第8章 排序 250
8.1 排序簡介 251
8.1.1 排序的分類 251
8.1.2 排序算法分析 252
8.2 內部排序法 252
8.2.1 冒泡排序法 253
8.2.2 選擇排序法 258
8.2.3 插入排序法 261
8.2.4 希爾排序法 263
8.2.5 合併排序法 266
8.2.6 快速排序法 267
8.2.7 堆積排序法 271
8.2.8 基數排序法 276
8.3 外部排序法 279
8.3.1 直接合併排序法 279
8.3.2 k-路合併法 287
8.3.3 多相合併法 288
本章習題 288

第9章 查找 292
9.1 常見的查找算法 293
9.1.1 順序查找法 293
9.1.2 二分查找法 295
9.1.3 插值查找法 298
9.1.4 斐波那契查找法 300
9.1.5 雜湊查找法 302
9.2 常見的雜湊法 303
9.2.1 除留餘數法 303
9.2.2 平方取中法 305
9.2.3 折疊法 305
9.2.4 數字分析法 306
9.3 碰撞與溢出問題的處理 307
9.3.1 線性探測法 307
9.3.2 平方探測法 309
9.3.3 再雜湊法 309
9.3.4 鏈表法 310
9.3.5 雜湊法綜合範例 312
本章習題 315

附錄A 課後習題與參考答案 317
附錄B C#開發環境與指令摘要(電子版見下載) 365