《江蘇省精品課程主講教材:數據結構(C++語言描述)》是江蘇省精品課程“數據結構”的建設成果。全書共10章,介紹了各種常用的數據結構(線性表、棧和佇列、串、數組和特殊矩陣、廣義表、樹和二叉樹、圖)的基本概念、邏輯關係、存儲結構、操作運算及其實現算法;闡述了各種常用的查找算法和排序算法,並對各種算法的性能進行分析。書中使用C++類定義各種數據結構,利用C++偽代碼描述算法,並給出了許多經典算法和典型題例。每章均附有小結、習題和上機實驗題,附錄給出了6套課程考試樣卷和5道課程設計題。《江蘇省精品課程主講教材:數據結構(C++語言描述)》既注重基本原理,又重視算法實現;既體現先進性,又強調實用性;內容豐富,重點突出,條理清晰,由淺入深,語言流暢,具有特色。
基本介紹
- 書名:江蘇省精品課程主講教材:數據結構
- 作者:王瓊 周俊生
- 出版日期:2014年8月1日
- 語種:簡體中文
- ISBN:9787040405606
- 外文名:Data Structures in C++
- 出版社:高等教育出版社
- 頁數:279頁
- 開本:16
內容簡介,圖書目錄,
內容簡介
《江蘇省精品課程主講教材:數據結構(C++語言描述)》可作為高等學校計算機類專業及相關專業“數據結構”課程的教材,也可供從事計算機軟體開發人員參考。
圖書目錄
第1章緒論
1.1數據結構課程的研究內容
1.2基本概念及術語
1.3算法與算法分析
1.3.1算法
1.3.2算法分析
本章小結
習題1
上機實驗題1
第2章線性表
2.1線性表的基本概念
2.2線性表的存儲結構
2.2.1順序存儲結構
2.2.2鏈式存儲結構
2.3線性表的操作算法
2.3.1順序表的操作算法
2.3.2鍊表的操作算法
2.4線性表的套用
2.5順序表和鍊表的綜合比較
本章小結
習題2
上機實驗題2
第3章棧和佇列
3.1棧
3.1.1棧的基本概念
3.1.2棧的存儲結構
3.1.3棧的操作算法
3.1.4棧的套用
3.2佇列
3.2.1佇列的基本概念
3.2.2佇列的存儲結構
3.2.3佇列的操作算法
3.2.4佇列的套用
本章小結
習題3
上機實驗題3
第4章串
4.1串的基本概念
4.2串的存儲結構
4.2.1串的順序存儲結構
4.2.2串的鏈式存儲結構
4.3串的操作算法
4.3.1串的基本操作算法
4.3.2串的模式匹配
4.3.3串的套用
本章小結
習題4
上機實驗題4
第5章數組和特殊矩陣
5.1數組
5.1.1數組的基本概念
5.1.2數組的存儲結構
5.2特殊矩陣的壓縮存儲
5.2.1對稱矩陣的壓縮存儲
5.2.2三角矩陣的壓縮存儲
5.2.3對角矩陣的壓縮存儲
5.2.4稀疏矩陣的壓縮存儲
本章小結
習題5
上機實驗題5
第6章廣義表
6.1廣義表的概念
6.2廣義表的存儲結構
6.2.1廣義表中結點的結構
6.2.2廣義表的存儲結構
6.3廣義表的操作算法
6.3.1構造算法
6.3.2遍歷廣義表
6.3.3廣義表的其他操作算法
本章小結
習題6
上機實驗題6
第7章樹和二叉樹
7.1樹的概念和性質
7.1.1樹的定義
7.1.2樹的基本術語
7.1.3樹的基本性質
7.2二叉樹的概念和性質
7.2.1二叉樹的定義
7.2.2二叉樹的基本性質
7.3二叉樹的存儲結構
7.3.1二叉樹的順序存儲結構
7.3.2二叉樹的鏈式存儲結構
7.4二叉樹的遍歷
7.4.1二叉樹遍歷的概念
7.4.2二叉樹遍歷算法
7.4.3二叉樹的構造和析構算法
7.5二叉樹的其他操作算法
7.6線索二叉樹
7.6.1線索二叉樹的概念
7.6.2線索二叉樹的存儲結構
7.6.3線索二叉樹的操作算法
7.7樹的存儲結構與算法
7.7.1樹的存儲結構
7.7.2樹的操作算法
7.8Huffman樹與Huffman編碼
7.8.1Huffman樹的定義
7.8.2Huffman樹的構造
7.8.3Huffman編碼算法
7.8.4Huffman解碼算法
7.8.5Huffmanl樹的其他套用——程式設計流程最佳化
7.9等價類問題
7.9.1等價類問題
7.9.2等價類的實現
7.9.3性能分析與改進
本章小結
習題7
上機實驗題7
第8章圖
8.1圖的基本概念
8.1.1圖的定義
8.1.2圖的基本術語
8.2圖的存儲結構
8.2.1鄰接矩陣表示法
8.2.2鄰接表表示法
8.3圖的遍歷
8.3.1圖遍歷的概念
8.3.2深度優先搜尋
8.3.3廣度優先搜尋
8.3.4圖遍歷算法的套用
8.4最小生成樹
8.4.1最小生成樹的概念及其性質
8.4.2Prim算法
8.4.3Kruskal算法
8.5最短路徑
8.5.1最短路徑的概念
8.5.2單源最短路徑
8.5.3每對頂點之間的最短路徑
8.6AOV網與拓撲排序
8.6.1有向無環圖與AOV網的概念
8.6.2拓撲排序
*8.7AOE網與關鍵路徑
8.7.1AOE網的概念
8.7.2關鍵路徑
本章小結
習題8
上機實驗題8
第9章查找
9.1查找的基本概念
9.2順序表的查找
9.2.1順序查找
9.2.2折半查找
9.2.3分塊查找
9.3樹表的查找
9.3.1二叉排序樹
9.3.2平衡二叉樹
9.3.3B樹
9.3.4B+樹
9.4Hash查找
9.4.1Hash查找的基本概念
9.4.2Hash表的構造
9.4.3Hash查找算法及分析
本章小結
習題9
上機實驗題9
第10章排序
10.1排序的基本概念
10.2冒泡排序
10.3選擇排序
10.4插入排序
10.4.1直接插入排序
10.4.2折半插入排序
10.5希爾排序
10.6快速排序
10.7堆排序
10.8歸併排序
10.8.1二路歸併排序的非遞歸實現
10.8.2二路歸併排序的遞歸實現
10.9基數排序
10.9.1多關鍵字排序
10.9.2鏈式基數排序
本章小結
習題10
上機實驗題10
附錄
附錄A數據結構試題
A.1數據結構試題A
A.2數據結構試題B
A.3數據結構試題C
A.4數據結構試題D
A.5數據結構試題E
A.6數據結構試題F
附錄B數據結構課程設計題
參考文獻
1.1數據結構課程的研究內容
1.2基本概念及術語
1.3算法與算法分析
1.3.1算法
1.3.2算法分析
本章小結
習題1
上機實驗題1
第2章線性表
2.1線性表的基本概念
2.2線性表的存儲結構
2.2.1順序存儲結構
2.2.2鏈式存儲結構
2.3線性表的操作算法
2.3.1順序表的操作算法
2.3.2鍊表的操作算法
2.4線性表的套用
2.5順序表和鍊表的綜合比較
本章小結
習題2
上機實驗題2
第3章棧和佇列
3.1棧
3.1.1棧的基本概念
3.1.2棧的存儲結構
3.1.3棧的操作算法
3.1.4棧的套用
3.2佇列
3.2.1佇列的基本概念
3.2.2佇列的存儲結構
3.2.3佇列的操作算法
3.2.4佇列的套用
本章小結
習題3
上機實驗題3
第4章串
4.1串的基本概念
4.2串的存儲結構
4.2.1串的順序存儲結構
4.2.2串的鏈式存儲結構
4.3串的操作算法
4.3.1串的基本操作算法
4.3.2串的模式匹配
4.3.3串的套用
本章小結
習題4
上機實驗題4
第5章數組和特殊矩陣
5.1數組
5.1.1數組的基本概念
5.1.2數組的存儲結構
5.2特殊矩陣的壓縮存儲
5.2.1對稱矩陣的壓縮存儲
5.2.2三角矩陣的壓縮存儲
5.2.3對角矩陣的壓縮存儲
5.2.4稀疏矩陣的壓縮存儲
本章小結
習題5
上機實驗題5
第6章廣義表
6.1廣義表的概念
6.2廣義表的存儲結構
6.2.1廣義表中結點的結構
6.2.2廣義表的存儲結構
6.3廣義表的操作算法
6.3.1構造算法
6.3.2遍歷廣義表
6.3.3廣義表的其他操作算法
本章小結
習題6
上機實驗題6
第7章樹和二叉樹
7.1樹的概念和性質
7.1.1樹的定義
7.1.2樹的基本術語
7.1.3樹的基本性質
7.2二叉樹的概念和性質
7.2.1二叉樹的定義
7.2.2二叉樹的基本性質
7.3二叉樹的存儲結構
7.3.1二叉樹的順序存儲結構
7.3.2二叉樹的鏈式存儲結構
7.4二叉樹的遍歷
7.4.1二叉樹遍歷的概念
7.4.2二叉樹遍歷算法
7.4.3二叉樹的構造和析構算法
7.5二叉樹的其他操作算法
7.6線索二叉樹
7.6.1線索二叉樹的概念
7.6.2線索二叉樹的存儲結構
7.6.3線索二叉樹的操作算法
7.7樹的存儲結構與算法
7.7.1樹的存儲結構
7.7.2樹的操作算法
7.8Huffman樹與Huffman編碼
7.8.1Huffman樹的定義
7.8.2Huffman樹的構造
7.8.3Huffman編碼算法
7.8.4Huffman解碼算法
7.8.5Huffmanl樹的其他套用——程式設計流程最佳化
7.9等價類問題
7.9.1等價類問題
7.9.2等價類的實現
7.9.3性能分析與改進
本章小結
習題7
上機實驗題7
第8章圖
8.1圖的基本概念
8.1.1圖的定義
8.1.2圖的基本術語
8.2圖的存儲結構
8.2.1鄰接矩陣表示法
8.2.2鄰接表表示法
8.3圖的遍歷
8.3.1圖遍歷的概念
8.3.2深度優先搜尋
8.3.3廣度優先搜尋
8.3.4圖遍歷算法的套用
8.4最小生成樹
8.4.1最小生成樹的概念及其性質
8.4.2Prim算法
8.4.3Kruskal算法
8.5最短路徑
8.5.1最短路徑的概念
8.5.2單源最短路徑
8.5.3每對頂點之間的最短路徑
8.6AOV網與拓撲排序
8.6.1有向無環圖與AOV網的概念
8.6.2拓撲排序
*8.7AOE網與關鍵路徑
8.7.1AOE網的概念
8.7.2關鍵路徑
本章小結
習題8
上機實驗題8
第9章查找
9.1查找的基本概念
9.2順序表的查找
9.2.1順序查找
9.2.2折半查找
9.2.3分塊查找
9.3樹表的查找
9.3.1二叉排序樹
9.3.2平衡二叉樹
9.3.3B樹
9.3.4B+樹
9.4Hash查找
9.4.1Hash查找的基本概念
9.4.2Hash表的構造
9.4.3Hash查找算法及分析
本章小結
習題9
上機實驗題9
第10章排序
10.1排序的基本概念
10.2冒泡排序
10.3選擇排序
10.4插入排序
10.4.1直接插入排序
10.4.2折半插入排序
10.5希爾排序
10.6快速排序
10.7堆排序
10.8歸併排序
10.8.1二路歸併排序的非遞歸實現
10.8.2二路歸併排序的遞歸實現
10.9基數排序
10.9.1多關鍵字排序
10.9.2鏈式基數排序
本章小結
習題10
上機實驗題10
附錄
附錄A數據結構試題
A.1數據結構試題A
A.2數據結構試題B
A.3數據結構試題C
A.4數據結構試題D
A.5數據結構試題E
A.6數據結構試題F
附錄B數據結構課程設計題
參考文獻