基本介紹
圖書信息,內容簡介,圖書目錄,
圖書信息
作者:王圓
出版社:東軟電子出版社
出版時間:2011年08月
定價¥38.00
開 本:16開
紙 張:膠版紙
包 裝:平裝-膠訂
ISBN:9787894363367
內容簡介
《數據結構》是計算機及相關專業的一門重要的專業基礎課,同時也是軟體專業必修的核心課程之一。數據結構是一門實用性很強的課程,因此本書在編寫中注重精練內容,側重實踐套用。本書的理論介紹淺顯易懂,避免抽象的理論論述和複雜的公式推導。書中的具體數據結構問題,大部分通過實例程式講解,每章的*後還安排了項目實踐部分,提升學習效果。本書主要介紹各種典型的數據結構,包括線性表、棧和佇列、串、數組和廣義表、樹、圖、查找和排序等。本書採用Java語言描述數據結構和算法。
圖書目錄
第1章緒論1
1.1數據結構簡介1
1.2基本術語3
1.3數據的邏輯結構4
1.4數據的存儲結構6
1.5算法及算法分析6
1.5.1算法6
1.5.2算法效率分析7
習題一11
第2章線性表13
2.1線性表的定義與運算13
2.2線性表的順序存儲結構15
2.2.1順序表15
2.2.2順序表上基本操作的實現17
2.3線性表的鏈式存儲結構21
2.3.1線性單鍊表21
2.3.2循環鍊表29
2.3.3雙向鍊表30
2.4線性表項目實踐32
習題二37
第3章棧和佇列39
3.1棧39
3.1.1棧的定義和運算39
3.1.2棧的存儲和實現41
3.2佇列46
3.2.1佇列的定義和運算46
3.2.2佇列的順序存儲結構48
3.2.3佇列的鏈式存儲結構51
3.3棧和佇列的項目實踐54
習題三60
第4章串62
4.1串的基本概念和存儲結構62
4.1.1串的基本概念62
4.1.2串的存儲結構64
4.2串基本運算的實現64
4.3模式匹配69
4.4串項目實踐72
習題四74
第5章數組和廣義表76
5.1數組的定義和運算76
5.2數組順序存儲結構77
5.3矩陣的壓縮存儲78
5.3.1特殊矩陣79
5.3.2稀疏矩陣81
5.4廣義表91
5.4.1廣義表的定義91
5.4.2廣義表的存儲結構94
5.5數組項目實踐94
習題五96
第6章樹與二叉樹98
6.1樹的定義和基本術語98
6.2二叉樹99
6.2.1二叉樹的定義100
6.2.2二叉樹的性質101
6.2.3二叉樹的存儲結構及實現102
6.3遍歷二叉樹和線索二叉樹106
6.3.1遍歷二叉樹106
6.3.2線索二叉樹107
6.4樹和森林108
6.4.1樹的存儲結構108
6.4.2森林與二叉樹的轉換110
6.4.3樹和森林的遍歷113
6.5哈夫曼樹及其套用114
6.5.1哈夫曼樹114
6.5.2哈夫曼編碼116
6.6樹項目實踐116
習題六126
第7章圖128
7.1圖的定義和基本術語128
7.1.1圖的定義128
7.1.2圖的基本術語128
7.2圖的存儲結構130
7.2.1鄰接矩陣存儲130
7.2.2鄰接表存儲131
7.3圖的遍歷133
7.3.1深度優先遍歷133
7.3.2廣度優先遍歷136
7.4圖的最小生成樹140
7.4.1生成樹140
7.4.2最小生成樹140
7.4.3普里姆算法140
7.5最短路徑143
7.6圖的項目實踐145
習題七149
第8章查找150
8.1查找的基本概念150
8.2基於線性表的查找151
8.2.1順序查找151
8.2.2折半查找154
8.2.3分塊查找158
8.3基於樹的查找161
8.3.1二叉排序樹161
8.3.2平衡二叉樹169
8.3.3B樹170
8.4哈希表171
8.4.1哈希表的概念171
8.4.2哈希函式的構造方法172
8.4.3處理衝突的方法173
8.4.4哈希表的查找分析175
8.5查找項目實踐176
習題八180
第9章排序181
9.1概述181
9.2插入排序181
9.2.1直接插入排序181
9.2.2折半插入排序183
9.2.3希爾排序185
9.3交換排序187
9.3.1冒泡排序187
9.3.2快速排序189
9.4選擇排序191
9.4.1簡單選擇排序191
9.4.2堆排序193
9.5歸併排序197
9.6基數排序198
9.6.1多關鍵字排序198
9.6.2基數排序199
9.7各種內部排序算法的比較201
9.7.1幾種常用排序算法的比較201
9.7.2排序算法的選擇201
9.8外排序202
9.9排序項目實踐202
習題九208
參考文獻209