出版時間:2004-6 出版社:人民郵電 作者:李云清,楊慶紅,揭安全 編著 頁數(shù):298 字數(shù):467000
內(nèi)容概要
本書介紹了數(shù)據(jù)結構的基本概念和基本算法。全書共分為12章,包括概論、線性表及其順序存儲、線性表的鏈式存儲、字符串、數(shù)組、特殊矩陣、遞歸、樹型結構、二叉樹、圖、檢索、內(nèi)排序、外排序和動態(tài)存儲管理等內(nèi)容。 本書內(nèi)容豐富,邏輯性強,文字清晰流暢,既注重理論知識,又強調(diào)工程實用。書中既體現(xiàn)了抽象數(shù)據(jù)類型的觀點,又對每個算法的具體實現(xiàn)給出了完整的C語言源代碼描述。 與本書配套的電子教案和書中所有算法的源代碼均可以從人民郵電出版社網(wǎng)站(www.ptpress.com.cn)上免費下載。 本書可作為高等院校計算機專業(yè)及相關專業(yè)本科生“數(shù)據(jù)結構”課程的教材,也可以作為從事計算機工程與應用的廣大讀者的參考書。
書籍目錄
第1章 概論 11.1 數(shù)據(jù)結構 11.1.1 數(shù)據(jù)結構 11.1.2 數(shù)據(jù)的邏輯結構 31.1.3 數(shù)據(jù)的存儲結構 31.1.4 數(shù)據(jù)的運算集合 51.2 數(shù)據(jù)類型和抽象數(shù)據(jù)類型 61.2.1 數(shù)據(jù)類型 71.2.2 數(shù)據(jù)結構 71.2.3 抽象數(shù)據(jù)類型 71.2.4 抽象數(shù)據(jù)類型的描述和實現(xiàn) 81.3 算法和算法分析 91.3.1 算法 91.3.2 算法的時間和空間復雜度 9習題 10第2章 線性表及其順序存儲 122.1 線性表 122.2 順序表 122.2.1 順序表 122.2.2 順序表的實現(xiàn) 132.3 ?!?82.3.1 棧 182.3.2 順序棧及其實現(xiàn) 192.3.3 棧的應用之一——括號匹配 212.3.4 棧的應用之二——算術表達式求值 232.4 隊列 282.4.1 隊列 282.4.2 順序隊列及其實現(xiàn) 292.4.3 順序循環(huán)隊列及其實現(xiàn) 32習題 34第3章 線性表的鏈式存儲 353.1 鏈式存儲 353.2 單鏈表 363.2.1 單鏈表 363.2.2 單鏈表的實現(xiàn) 373.3 帶頭結點的單鏈表 433.3.1 帶頭結點的單鏈表 433.3.2 帶頭結點的單鏈表的實現(xiàn) 443.4 循環(huán)單鏈表 483.4.1 循環(huán)單鏈表 483.4.2 循環(huán)單鏈表的實現(xiàn) 493.5 雙鏈表 563.5.1 雙鏈表 563.5.2 雙鏈表的實現(xiàn) 573.6 鏈式?!?43.6.1 鏈式?!?43.6.2 鏈式棧的實現(xiàn) 653.7 鏈式隊列 673.7.1 鏈式隊列 673.7.2 鏈式隊列的實現(xiàn) 68習題 71第4章 字符串、數(shù)組和特殊矩陣 724.1 字符串 724.1.1 字符串的基本概念 724.1.2 字符串類的定義 734.1.3 字符串的存儲及其實現(xiàn) 744.2 字符串的模式匹配 814.2.1 樸素的模式匹配算法 814.2.2 快速模式匹配算法 824.3 數(shù)組 854.3.1 數(shù)組和數(shù)組元素 854.3.2 數(shù)組類的定義 864.3.3 數(shù)組的順序存儲及實現(xiàn) 864.4 特殊矩陣 904.4.1 對稱矩陣的壓縮存儲 904.4.2 三角矩陣的壓縮存儲 924.4.3 帶狀矩陣的壓縮存儲 934.5 稀疏矩陣 954.5.1 稀疏矩陣類的定義 954.5.2 稀疏矩陣的順序存儲及其實現(xiàn) 954.5.3 稀疏矩陣的鏈式存儲及實現(xiàn) 98習題 102第5章 遞歸 1035.1 遞歸與遞歸程序設計 1035.2 遞歸程序執(zhí)行過程的分析 1055.3 遞歸程序到非遞歸程序的轉(zhuǎn)換 1085.3.1 簡單遞歸程序到非遞歸程序的轉(zhuǎn)換 1095.3.2 復雜遞歸程序到非遞歸程序的轉(zhuǎn)換 1125.4 遞歸程序設計的應用實例 116習題 118第6章 樹型結構 1206.1 樹的基本概念 1206.2 樹類的定義 1226.3 樹的存儲結構 1236.3.1 雙親表示法 1236.3.2 孩子表示法 1246.3.3 孩子兄弟表示法 1276.4 樹的遍歷 1276.5 樹的線性表示 1316.5.1 樹的括號表示 1316.5.2 樹的層號表示 133習題 135第7章 二叉樹 1377.1 二叉樹的基本概念 1377.2 二叉樹的基本運算 1397.3 二叉樹的存儲結構 1407.3.1 順序存儲結構 1407.3.2 鏈式存儲結構 1427.4 二叉樹的遍歷 1447.4.1 二叉樹遍歷的定義 1447.4.2 二叉樹遍歷的遞歸實現(xiàn) 1447.4.3 二叉樹遍歷的非遞歸實現(xiàn) 1467.5 二叉樹其他運算的實現(xiàn) 1507.6 穿線二叉樹 1527.6.1 穿線二叉樹的定義 1527.6.2 中序穿線二叉樹的基本運算 1537.6.3 中序穿線二叉樹的存儲結構及其實現(xiàn) 1547.7 樹、森林和二叉樹的轉(zhuǎn)換 1567.7.1 樹、森林到二叉樹的轉(zhuǎn)換 1567.7.2 二叉樹到樹、森林的轉(zhuǎn)換 157習題 158第8章 圖 1598.1 圖的基本概念 1598.2 圖的基本運算 1628.3 圖的基本存儲結構 1638.3.1 鄰接矩陣及其實現(xiàn) 1638.3.2 鄰接表及其實現(xiàn) 1668.3.3 鄰接多重表 1688.4 圖的遍歷 1698.4.1 深度優(yōu)先遍歷 1698.4.2 廣度優(yōu)先遍歷 1718.5 生成樹與最小生成樹 1738.5.1 最小生成樹的定義 1748.5.2 最小生成樹的普里姆(Prim)算法 1758.5.3 最小生成樹的克魯斯卡爾(Kruskal)算法 1788.6 最短路徑 1808.6.1 單源最短路徑 1808.6.2 所有頂點對的最短路徑 1838.7 拓撲排序 1868.8 關鍵路徑 189習題 194第9章 檢索 1969.1 檢索的基本概念 1969.2 線性表的檢索 1979.2.1 順序檢索 1979.2.2 二分法檢索 1999.2.3 分塊檢索 2019.3 二叉排序樹 2039.4 豐滿樹和平衡樹 2109.4.1 豐滿樹 2119.4.2 平衡二叉排序樹 2129.5 最佳二叉排序樹和Huffman樹 2189.5.1 擴充二叉樹 2189.5.2 最佳二叉排序樹 2209.5.3 Huffman樹 2259.6 B-樹 2289.6.1 B-樹的定義 2289.6.2 B-樹的基本操作 2299.7 散列表檢索 2349.7.1 散列存儲 2349.7.2 散列函數(shù)的構造 2359.7.3 沖突處理 236習題 240第10章 內(nèi)排序 24210.1 排序的基本概念 24210.2 插入排序 24310.2.1 直接插入排序 24310.2.2 二分法插入排序 24610.2.3 表插入排序 24810.2.4 Shell插入排序 24910.3 選擇排序 25110.3.1 直接選擇排序 25110.3.2 樹型選擇排序 25310.3.3 堆排序 25610.4 交換排序 25910.4.1 冒泡排序 25910.4.2 快速排序 26110.5 歸并排序 26310.6 基數(shù)排序 26710.6.1 多排序碼的排序 26710.6.2 靜態(tài)鏈式基數(shù)排序 267習題 271第11章 外排序 27311.1 外存儲器簡介 27311.1.1 磁盤存儲器 27311.1.2 磁帶存儲器 27311.2 文件簡介 27411.2.1 文件的邏輯結構 27411.2.2 文件的存儲結構 27411.3 外排序——磁盤排序 27411.3.1 磁盤排序 27411.3.2 多路歸并 27611.3.3 初始有序串的生成 27811.4 外排序——磁帶排序 27911.4.1 磁帶排序 27911.4.2 非平衡歸并 281習題 282第12章 動態(tài)存儲管理 28312.1 概述 28312.2 可利用空間表及分配方法 28512.3 邊界標識法 28812.3.1 可利用空間表的結構 28812.3.2 分配算法 28912.3.3 回收算法 29112.4 無用單元的收集 29312.5 存儲壓縮 296習題 298參考文獻 299
圖書封面
評論、評分、閱讀與下載