-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

圖解數據結構--使用Python

( 簡體 字)
作者:吳燦銘類別:1. -> 程式設計 -> Python
譯者:
出版社:清華大學出版社圖解數據結構--使用Python 3dWoo書號: 48958
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:4/1/2018
頁數:392
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302495321
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

現在無人不談“大數據技術”和“人工智能技術”,而商業智能和機器學習等應用的具體開發中又大量使用Python這門排名已經上升到第5位的程序設計語言。另外,已經有越來越多的大專院校采用Python語言來教授計算機程序設計課程,因而用Python語言來描述算法和講述數據結構就成為順其自然的事情了。
“數據結構”毫無疑問是計算機科學既經典又核心的課程之一,只要從事計算機相關的開發工作,系統地學習數據結構是進入這個行業的“開山斧”。數據結構不僅講授數據的結構以及在計算機內存儲和組織數據的方式,它背后真正蘊含的是與之息息相關的算法,精心選擇的數據結構配合恰如其分的算法就意味著數據或者信息在計算機內被高效率地存儲和處理。算法其實就是數據結構的靈魂,它既神秘又神奇“好玩”,可以說是“聰明人在計算機上的游戲”。
《圖解數據結構:使用Python》是一本綜合且全面講述數據結構及其算法分析的教科書,為了便于高校的教學或者讀者自學,作者在描述數據結構原理和算法時文字清晰而嚴謹,為每個算法及其數據結構提供了演算的詳細圖解。另外,為了適合在教學中讓學生上機實踐或者自學者上機“操練”,本書為每個經典的算法都提供了Python語言編寫的完整范例程序(包含完整的源代碼),每個范例程序都經過了測試和調試,可以直接在標準的Python解釋器中運行,目的就是讓本書的學習者以這些范例程序作為參照,迅速掌握數據結構和算法的要點。本書所有范例程序的下載網址如下:
如果下載有問題,請電子郵件聯系,郵件主題為“圖解數據結構——使用Python源代碼”。
學習《圖解數據結構:使用Python》需要有面向對象程序設計語言的基礎,如果讀者沒有學習過任何面向對象的程序設計語言,那么建議讀者先學習一下Python語言再來學習本書。如果讀者已經掌握了Java、C++、C#等任何一種面向對象的程序設計語言,而沒有學習過Python語言,只需快速瀏覽一下附錄A“Python語言快速入門”,即可開始本書的學習。關于Python運行環境的簡單說明也在附錄A中講解,當然讀者也可以從網站中下載適合自己的計算機及其操作系統的Python 版本,再安裝和設置好Python運行環境。
為了方便教學和讀者自學,《圖解數據結構:使用Python》每章的最后都提供了豐富的課后習題,同時在整本書的附錄C也提供了所有課后習題的詳細解答,供讀者參考對照。



資深架構師 趙軍
2018年1月
內容簡介:

本書采用豐富的圖例來闡述基本概念,并以簡潔清晰的語言來詮釋重要的理論和算法,同時配合完整的范例程序代碼,使讀者可以通過“實例+實踐”來熟悉數據結構。
本書內容共9章,先從基本的數據結構概念開始介紹,再以Python語言來實現數組、堆棧、鏈表、隊列、樹、圖、排序、查找等重要的數據結構。在附錄A提供了Python語言的快速入門,附錄B是使用Python語言實現數據結構程序時調試經驗的分享,附錄C則提供了所有課后習題的答案。
目錄:

第1章數據結構導論 1
1.1數據結構的定義 2
1.1.1數據與信息 2
1.1.2數據的特性 3
1.1.3數據結構的應用 3
1.2算法 5
1.3認識程序設計 7
1.3.1程序開發流程 8
1.3.2結構化程序設計 8
1.3.3面向對象程序設計 9
1.4算法性能分析 11
1.4.1Big-Oh 12
1.4.2Ω 15
1.4.3θ 15
【課后習題】 15
第2章數組結構 17
2.1線性表簡介 18
2.2認識數組 19
2.2.1二維數組 21
2.2.2三維數組 25
2.2.3n維數組 27
2.3矩陣 28
2.3.1矩陣相加 28
2.3.2矩陣相乘 29
2.3.3轉置矩陣 31
2.3.4稀疏矩陣 32
2.3.5上三角形矩陣 35
2.3.6下三角形矩陣 39
2.3.7帶狀矩陣 43
2.4數組與多項式 44
【課后習題】 46
第3章鏈表 48
3.1單向鏈表 49
3.1.1建立單向鏈表 50
3.1.2遍歷單向鏈表 51
3.1.3在單向鏈表中插入新節點 53
3.1.4在單向鏈表中刪除節點 58
3.1.5單向鏈表的反轉 61
3.1.6單向鏈表的連接功能 64
3.1.7多項式鏈表表示法 69
3.2環形鏈表 71
3.2.1環形鏈表的建立與遍歷 72
3.2.2在環形鏈表中插入新節點 74
3.2.3在環形鏈表中刪除節點 78
3.2.4環形鏈表的連接功能 82
3.2.5環形鏈表與稀疏矩陣表示法 85
3.3雙向鏈表 86
3.3.1雙向鏈表的建立與遍歷 87
3.3.2在雙向鏈表中插入新節點 91
3.3.3在雙向鏈表中刪除節點 95
【課后習題】 99
第4章堆棧 101
4.1堆棧簡介 102
4.1.1用列表實現堆棧 103
4.1.2用鏈表實現堆棧 107
4.2堆棧的應用 110
4.2.1遞歸算法 111
4.2.2漢諾塔問題 115
4.2.3老鼠走迷宮 120
4.2.4八皇后問題 125
4.3算術表達式的表示法 128
4.3.1中序法轉為前序法與后序法 129
4.3.2前序法與后序法轉為中序法 135
4.3.3中序法表達式的求值運算 137
4.3.4前序法表達式的求值運算 138
4.3.5后序法表達式的求值運算 139
【課后習題】 140
第5章隊列 143
5.1認識隊列 144
5.1.1隊列的基本操作 144
5.1.2用數組實現隊列 145
5.1.3用鏈表實現隊列 148
5.2隊列的應用 151
5.2.1環形隊列 151
5.2.2雙向隊列 155
5.2.3優先隊列 159
【課后習題】 160
第6章樹形結構 161
6.1樹的基本概念 162
6.2二叉樹簡介 164
6.2.1二叉樹的定義 165
6.2.2特殊二叉樹簡介 166
6.3二叉樹的存儲方式 167
6.3.1一維數組表示法 167
6.3.2鏈表表示法 170
6.4二叉樹遍歷 172
6.4.1中序遍歷 173
6.4.2后序遍歷 173
6.4.3前序遍歷 173
6.4.4二叉樹節點的插入與刪除 178
6.4.5二叉運算樹 184
6.5線索二叉樹 189
6.6樹的二叉樹表示法 195
6.6.1樹轉化為二叉樹 195
6.6.2二叉樹轉換成樹 196
6.6.3森林轉換為二叉樹 197
6.6.4二叉樹轉換成森林 198
6.6.5樹與森林的遍歷 199
6.6.6確定唯一二叉樹 201
6.7優化二叉查找樹 202
6.7.1擴充二叉樹 202
6.7.2霍夫曼樹 204
6.7.3平衡樹 205
6.8B樹 210
【課后習題】 212
第7章圖形結構 216
7.1圖形簡介 217
7.1.1歐拉環與歐拉鏈 217
7.1.2圖形的定義 218
7.1.3無向圖 218
7.1.4有向圖 219
7.2圖的數據表示法 220
7.2.1鄰接矩陣法 220
7.2.2鄰接表法 224
7.2.3鄰接復合鏈表法 226
7.2.4索引表格法 228
7.3圖的遍歷 230
7.3.1深度優先遍歷法 230
7.3.2廣度優先遍歷法 233
7.4生成樹 237
7.4.1DFS生成樹和BFS生成樹 238
7.4.2最小生成樹 239
7.4.3Kruskal算法 239
7.5圖的最短路徑 244
7.5.1單點對全部頂點 244
7.5.2兩兩頂點間的最短路徑 248
7.6AOV網絡與拓撲排序 251
7.7AOE網絡 253
【課后習題】 255
第8章排序 259
8.1排序簡介 260
8.1.1排序的分類 261
8.1.2排序算法的分析 261
8.2內部排序法 262
8.2.1冒泡排序法 262
8.2.2選擇排序法 266
8.2.3插入排序法 268
8.2.4希爾排序法 270
8.2.5合并排序法 272
8.2.6快速排序法 275
8.2.7堆積排序法 278
8.2.8基數排序法 283
【課后習題】 286
第9章查找 289
9.1常見的查找方法 290
9.1.1順序查找法 290
9.1.2二分查找法 292
9.1.3插值查找法 294
9.1.4斐波拉契查找法 296
9.2哈希查找法 300
9.3常見的哈希函數 302
9.3.1除留余數法 302
9.3.2平方取中法 303
9.3.3折疊法 303
9.3.4數字分析法 304
9.4碰撞與溢出問題的處理 305
9.4.1線性探測法 305
9.4.2平方探測法 307
9.4.3再哈希法 307
9.4.4鏈表法 307
【課后習題】 313
附錄APython語言快速入門 315
A.1輕松學Python程序 316
A.2基本數據處理 317
A.2.1數值數據類型 317
A.2.2布爾數據類型 317
A.2.3字符串數據類型 318
A.3輸入input和輸出print 318
A.3.1輸出print 318
A.3.2輸出轉義字符 319
A.3.3輸入input 319
A.4運算符與表達式 321
A.4.1算術運算符 321
A.4.2復合賦值運算符 321
A.4.3關系運算符 321
A.4.4邏輯運算符 322
A.4.5位運算符 322
A.5流程控制 323
A.5.1if語句 323
A.5.2for循環 324
A.5.3while循環 325
A.6其他常用的類型 327
A.6.1string字符串 327
A.6.2list列表 329
A.6.3tuple元組和dict字典 331
A.7函數 332
A.7.1自定義無參數函數 332
A.7.2有參數行的函數 333
A.7.3函數返回值 333
A.7.4參數傳遞 333
附錄B數據結構使用Python程序調試實錄 336
附錄C課后習題與答案 352
序: