|
-- 會員 / 註冊 --
|
|
|
|
圖解數據結構 (第二版) ( 簡體 字) |
作者:胡昭民 | 類別:1. -> 程式設計 -> 綜合 |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 44675 詢問書籍請說出此書號!【缺書】 NT售價: 245 元 |
出版日:8/1/2016 |
頁數:354 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302439356 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:序
數據結構一直是計算機信息相關學科的必修科目,對于第一次接觸數據結構課程的學生來說,內容過多及表達不清楚常常是造成學習障礙最主要的因素,為了讓讀者能用最輕松的方式快速理解數據結構,本書特別征詢多位教師意見,采用豐富的圖例來闡述基本概念及應用,并且將重要理論和演算方法做了非常詳實的詮釋,是一本兼具內容及專業的數據結構教學用書。
由于筆者長期從事咨詢教育及寫作工作,在文句的表達上盡量以簡潔有力、邏輯清楚闡述為主。為了驗收各章的學習成果,特別搜集了大量的習題,并參閱重要考試,提供給讀者更多的實戰演練經驗。
另外,為了減輕讀者的學習壓力及經濟負擔,在整本書所涉及的主題分量不減的情況下,書中僅收錄精華的演算方法及程式范例的執行畫面,本書所有的程序代碼在提供的下載地址中可以下載,讀者可直接下載并運行驗證。最后希望本書能帶給各位對數據結構更完整的認識。
胡昭民 敬筆
|
內容簡介:本書用最輕松的圖解方式來講解數據結構,全書采用豐富的圖例闡述數據結構的基本概念及應用,并將重要理論、演算方法做最詳細的詮釋與舉例,是一本兼具內容及專業的數據結構的教學用書。 由于作者長期從事信息教育及寫作,在文字的表達上簡潔明了、邏輯清晰,并安排了大量的習題,供讀者檢驗學習成果。 |
目錄:目錄第1章數據結構導論1 1-1數據結構簡介2 1-1-1數據與信息2 1-1-2算法3 1-1-3算法的條件3 1-1-4數據結構的應用6 1-2數據抽象化7 1-2-1基本數據類型7 1-2-2抽象數據類型7 1-3算法與程序設計8 1-3-1認識程序設計8 1-3-2程序開發流程9 1-3-3程序設計的風格9 1-4面向對象程序設計11 1-4-1封裝(Encapsulation)12 1-4-2繼承(Inheritance)13 1-4-3多態(Polymorphism)13 1-5模塊化設計與C語言13 1-5-1函數的基本概念13 1-5-2參數類型的介紹14 1-5-3參數的傳遞方式15 1-6遞歸算法15 1-6-1遞歸的定義15 1-6-2斐波拉契數列17 1-6-3漢諾塔問題18 1-7程序效率的分析23 1-7-1Big-oh25 1-7-2Ω(omega)26 1-7-3θ(theta)27 本章習題27 第2章線性表32 2-1線性表的定義33 2-1-1線性表的用途33 2-2數組34 2-2-1一維數組34 2-2-2二維數組36 2-2-3多維數組40 2-2-4結構數組44 2-2-5字符數組46 2-2-6字符串數組48 2-2-7指針數組49 2-3矩陣50 2-3-1矩陣的運算51 2-3-2稀疏矩陣53 2-3-3上三角形矩陣55 2-3-4下三角形矩陣59 2-3-5帶狀矩陣64 本章習題65 第3章鏈表69 3-1動態分配內存70 3-1-1C的動態分配變量70 3-1-2C++的動態分配變量72 3-2單向鏈表73 3-2-1建立單向鏈表74 3-2-2遍歷單向鏈表75 3-2-3釋放單向鏈表節點的空間76 3-2-4單向鏈表插入新節點77 3-2-5單向鏈表刪除節點79 3-2-6單向鏈表的反轉81 3-3環形鏈表83 3-3-1環形鏈表的建立與遍歷83 3-3-2環形鏈表中插入新節點85 3-3-3環形鏈表節點的刪除86 3-3-4環形鏈表的連接功能88 3-4雙向鏈表89 3-4-1雙向鏈表的建立與遍歷90 3-4-2雙向鏈表中加入新節點92 3-4-3雙向鏈表節點的刪除94 3-5鏈表相關應用簡介96 3-5-1多項式表式法96 3-5-2稀疏矩陣表示法100 本章習題102 第4章堆棧與隊列109 4-1堆棧簡介110 4-1-1堆棧的基本操作111 4-1-2用數組實現堆棧111 4-1-3用鏈表實現堆棧112 4-1-4堆棧類樣板的實現114 4-1-5老鼠走迷宮116 4-1-6八皇后問題119 4-2算術表達式的表示法120 4-2-1中序轉為前序與后序121 4-2-2前序與后序轉為中序126 4-2-3中序表示法求值129 4-2-4前序法的求值運算130 4-2-5后序法的求值運算131 4-3隊列132 4-3-1隊列的基本操作133 4-3-2用數組實現隊列133 4-3-3環形隊列135 4-3-4雙向隊列139 4-3-5雙向隊列141 4-3-6優先隊列143 本章習題144 第5章樹狀結構156 5-1樹的基本概念157 5-1-1專有名詞介紹158 5-2二叉樹159 5-2-1二叉樹的特性159 5-2-2特殊二叉樹簡介160 5-3二叉樹的存儲方式161 5-3-1一維數組表示法161 5-3-2鏈表表示法164 5-4二叉樹的遍歷166 5-4-1中序遍歷166 5-4-2后序遍歷167 5-4-3前序遍歷167 5-4-4二叉樹節點的插入與刪除170 5-4-5二叉運算樹174 5-5線索二叉樹176 5-5-1二叉樹轉為線索二叉樹176 5-6樹的二叉樹表示法180 5-6-1樹轉化為二叉樹180 5-6-2二叉樹轉換成樹182 5-6-3森林化為二叉樹183 5-6-4二叉樹轉換成森林184 5-6-5樹與森林的遍歷185 5-6-6確定唯一二叉樹189 5-7優化二叉查找樹191 5-7-1擴充二叉樹191 5-7-2霍夫曼樹192 5-8平衡樹194 5-8-1平衡樹的定義194 5-9高級樹狀結構的研究196 5-9-1決策樹196 5-9-2B樹198 5-9-3二叉空間分割樹198 5-9-4四叉樹與八叉樹199 本章習題200 第6章圖形結構210 6-1圖形簡介211 6-1-1圖的定義212 6-1-2無向圖212 6-1-3有向圖214 6-2圖的數據表示法215 6-2-1鄰接矩陣法215 6-2-2鄰接表法218 6-2-3鄰接復合鏈表法220 6-2-4索引表格法222 6-3圖的遍歷225 6-3-1深度優先遍歷法225 6-3-2廣度優先遍歷法227 6-4生成樹229 6-4-1DFS生成樹和BFS生成樹229 6-4-2最小生成樹231 6-4-3Kruskal算法231 6-4-4Prim算法235 6-5圖的最短路徑236 6-5-1單點對全部頂點237 6-5-2兩兩頂點間的最短路徑240 6-6AOV網絡與拓撲排序244 6-6-1拓撲排列簡介244 6-7AOE網絡246 6-7-1關鍵路徑246 本章習題248 第7章排序257 7-1排序簡介258 7-1-1排序的分類259 7-2內部排序法260 7-2-1冒泡排序法260 7-2-2選擇排序法262 7-2-3插入排序法264 7-2-4希爾排序法266 7-2-5合并排序法268 7-2-6快速排序法269 7-2-7堆積排序法271 7-2-8基數排序法278 7-3外部排序法280 7-3-1直接合并排序法280 7-3-2k路合并法284 7-3-3多相合并法284 本章習題285 第8章查找295 8-1常見的查找方法296 8-1-1順序查找法296 8-1-2二分查找法297 8-1-3插值查找法299 8-1-4斐波那契查找法301 8-2哈希查找法305 8-2-1哈希法簡介305 8-3常見的哈希函數306 8-3-1除留余數法306 8-3-2平方取中法307 8-3-3折疊法308 8-3-4數字分析法308 8-4碰撞與溢出問題的處理309 8-4-1線性探測法309 8-4-2平方探測310 8-4-3再哈希310 8-4-4鏈表311 本章習題312 附錄AC/C++編譯程序的介紹與安裝318 A-1C/C++編譯程序簡介319 A-1-1VisualC++2010Express319 A-1-2C++Builder320 A-1-3VisualC++320 A-1-4DevC++321 A-1-5GCC322 A-2DevC++的安裝與介紹322 A-2-1下載Dev-C++323 A-2-2安裝DevC++323 附錄BC語言快速入門介紹與安裝329 B-1輕松學C程序330 B-1-1編譯與執行331 B-1-2編譯程序332 B-1-3開始執行程序333 B-2C的基本數據處理333 B-2-1變量333 B-2-2常數334 B-2-3數據類型簡介334 B-3C語言的輸出與輸入335 B-3-1printf()函數336 B-3-2scanf()函數337 B-4流程控制338 B-4-1順序結構338 B-4-2選擇結構339 B-4-3重復結構343 B-5數組簡介346 B-5-1字符串簡介347 B-5-2字符串數組347 B-6函數介紹349 B-6-1傳遞參數的方式350 B-6-2標準函數庫352 |
序: |
|