![](/c49/30/10356572008.jpg)
出版社:人民郵電 ISBN:9787115327642 商品編碼:10356572008 開本:16 出版時間:2013-09-01 代碼:39 作者:周顏軍王玉茹關偉洲
" 基本信息 - 商品名稱:數據結構(21世紀高等教育計算機規劃教材)
- 作者:周顏軍//王玉茹//關偉洲
- 代碼:39.8
- 出版社:人民郵電
- ISBN號:9787115327642
其他參考信息 - 出版時間:2013-09-01
- 印刷時間:2013-09-01
- 版次:1
- 印次:1
- 開本:16開
- 包裝:平裝
- 頁數:290
- 字數:492千字
編輯推薦語 周顏軍、王玉茹、關偉洲編著的《數據結構》力求敘述通俗易懂,嚴謹流暢,內容充實,示例豐富,符號、圖表規範,既適合於教學又便於自學。本書注意數據結構和算法的有機結合,注重算法的完整性,在給出算法之前,對其實現的基本思想和要點都做了詳細的討論,算法除了有對應C/C++程序外,有的還給出了機器運行的結果,便於讀者深入的理解和掌握。 內容提要 周顏軍、王玉茹、關偉洲編著的《數據結構》繫 統地介紹了各種常用的數據結構的邏輯特征、存儲方 式和基本運算。主要內容包括:順序表、棧、隊列、 鏈表、串、樹形結構、圖、多維數組、廣義表、排序 、查找和文件等。本書結構清晰,內容充實,實例豐 富,符號、圖表規範。既適合於教師課堂講授,也便 於自學者學習參考。 《數據結構》可作為高等院校計算機專業或信息 技術等相關專業的本科教材,也可作為參加研究生入 學考試、自學考試的考生以及從事計算機工程和應用 的科技人員的參考用書。 目錄 **章 概論 1 1.1 數據結構的概念 1 1.2 數據結構的組成與分類 2 1.2.1 數據的邏輯結構 2 1.2.2 數據的存儲結構 3 1.2.3 數據的運算(集合) 5 1.3 數據類型與抽像數據類型 5 1.3.1 數據類型 5 1.3.2 抽像數據類型 6 1.4 算法的概念與描述 7 1.4.1 算法的概念 7 1.4.2 算法的描述 8 1.5 算法分析 14 1.5.1 算法性能的評價標準 14 1.5.2 算法的復雜度 15 1.6 本章小結 18 習題 19 第2章 順序表 20 2.1 向量 21 2.1.1 向量的存儲與運算 21 2.1.2 目錄表 24 2.2 棧 25 2.2.1 棧的定義與基本操作 25 2.2.2 順序棧 27 2.3 棧與遞歸 30 2.3.1 遞歸的概念 30 2.3.2 遞歸過程的實現 32 *2.3.3 遞歸過程到非遞歸過程的轉換 33 2.4 隊列 38 2.4.1 隊列的定義與基本操作 38 2.4.2 順序隊列 40 2.5 應用舉例 43 2.5.1 向量應用——約瑟夫斯問題 43 2.5.2 棧的應用—— 括號匹配的檢驗與數制轉換 46 2.5.3 隊列應用—— 輸出楊輝三角形 52 2.6 本章小結 55 習題 56 第3章 鏈表 57 3.1 單鏈表 57 3.1.1 單鏈表的概念 57 3.1.2 單鏈表的存儲描述 58 3.1.3 在單鏈表上實現的基本運算 59 3.1.4 帶表頭結點的單鏈表 62 3.2 棧和隊列的鏈接存儲表示 63 3.2.1 鏈棧 63 3.2.2 鏈隊列 64 3.3 循環鏈表 66 3.4 雙鏈表 67 3.4.1 雙鏈表的概念 67 3.4.2 帶表頭結點的雙循環鏈表 68 3.4.3 雙循環鏈表的基本操作 68 3.5 應用舉例 70 3.5.1 消除鏈表中的重復數據 70 3.5.2 用循環鏈表求解約瑟夫斯問題 73 3.6 本章小結 75 習題 76 第4章 串 77 4.1 串的基本概念 77 4.2 串的存儲結構 78 4.2.1 順序存儲 78 4.2.2 鏈接存儲 79 4.3 串的操作 80 4.4 模式匹配 82 4.4.1 Brute-Force算法 82 4.4.2 KMP算法 84 4.5 應用舉例 88 4.6 本章小結 89 習題 90 第5章 樹形結構 91 5.1 樹形結構的概念 91 5.1.1 樹的概念 91 5.1.2 二叉樹的概念 93 5.1.3 樹、森林與二叉樹之間的相互轉換 95 5.1.4 樹形結構的遍歷 97 5.2 樹形結構的存儲方式 99 5.2.1 鏈式存儲 100 5.2.2 順序存儲 101 5.3 二叉樹的遍歷算法 106 5.3.1 遍歷二叉樹的非遞歸算法 106 5.3.2 遍歷二叉樹的遞歸算法 110 5.3.3 二叉樹遍歷的應用舉例 111 5.4 線索二叉樹 111 5.4.1 線索二叉樹的概念 111 5.4.2 二叉樹的線索化 112 5.4.3 線索二叉樹的遍歷 114 5.4.4 線索二叉樹的插入 117 5.5 堆 118 5.5.1 堆的定義 118 5.5.2 堆的構造 119 5.5.3 堆的插入與刪除 121 5.6 哈夫曼樹 123 5.6.1 擴充的二叉樹 123 5.6.2 哈夫曼樹 124 5.6.3 哈夫曼樹的應用舉例 128 5.7 應用舉例 130 5.7.1 判定樹的應用——偽幣鋻別問題 130 5.7.2 集合的表示與並查集 131 5.7.3 建立二叉樹及遍歷 133 5.8 本章小結 135 習題 136 第6章 圖 139 6.1 圖的概念 139 6.2 圖的存儲表示 141 6.2.1 鄰接矩陣表示法 141 6.2.2 鄰接表表示法 143 6.2.3 鄰接多重表表示法 145 6.3 圖的遍歷 146 6.3.1 深度優先遍歷 147 6.3.2 廣度優先遍歷 149 6.4 *小(代價)生成樹 151 6.4.1 普裡姆算法 152 6.4.2 克魯斯卡爾算法 154 6.5 *短路徑問題 157 6.5.1 單源*短路徑 157 6.5.2 每對頂點間的*短路徑 160 6.6 拓撲排序 163 6.7 關鍵路徑 169 6.8 本章小結 173 習題 174 第7章 多維數組和廣義表 177 7.1 多維數組 177 7.2 矩陣的壓縮存儲 179 7.2.1 特殊矩陣 179 7.2.2 稀疏矩陣 181 7.3 廣義表 186 7.3.1 廣義表的概念 186 7.3.2 廣義表的存儲結構 188 7.3.3 廣義表的運算 191 7.4 本章小結 193 習題 193 第8章 排序 195 8.1 基本概念 195 8.2 插入排序 196 8.2.1 直接插入排序 197 8.2.2 希爾排序 198 *8.2.3 其他插入排序 200 8.3 交換排序 204 8.3.1 冒泡排序 205 8.3.2 快速排序 206 8.4 選擇排序 209 8.4.1 直接選擇排序 209 8.4.2 樹形選擇排序 211 8.4.3 堆排序 213 8.5 歸並排序 215 8.6 基數排序 218 8.6.1 多排序碼排序 218 8.6.2 基數排序 219 *8.7 外排序 223 8.7.1 2路平衡歸並 223 8.7.2 k路平衡歸並與敗者樹 224 8.7.3 *佳歸並樹 226 8.8 本章小結 228 習題 229 第9章 查找 230 9.1 基本概念 230 9.2 線性表的查找 231 9.2.1 順序查找 231 9.2.2 折半查找 232 9.2.3 分塊查找 235 9.3 樹形表的查找 237 9.3.1 二叉排序樹 237 9.3.2 *佳二叉排序樹 242 9.3.3 AVL樹 245 9.3.4 B-樹與B+樹 252 9.4 散列表的查找 261 9.4.1 基本概念 261 9.4.2 散列函數 264 9.4.3 衝突的解決 266 9.4.4 散列查找的性能 271 9.5 本章小結 272 習題 273 **0章 文件 275 10.1 文件的基本概念 275 10.2 順序文件 277 10.3 索引文件 277 10.4 索引順序文件 279 10.4.1 ISAM文件 279 10.4.2 VSAM文件 281 10.5 散列文件 282 10.6 多關鍵字文件 283 10.6.1 多重表文件 283 10.6.2 倒排文件 284 10.7 本章小結 285 習題 286 附錄A Visual C++ 6.0集成開發環境介紹 287 附錄B 常用字符與ASCII碼對照表 290 參考文獻 291
" |