《高職高專計算機專業(yè)規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)(C語言版)》是針對高職高專院校計算機和相關專業(yè)“數(shù)據(jù)結(jié)構(gòu)”課程的特點而編寫的。《高職高專計算機專業(yè)規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)(C語言版)》詳細介紹了數(shù)據(jù)結(jié)構(gòu)的基本概念、基本結(jié)構(gòu)和算法等重要內(nèi)容。為突出高職教學特點,全書共安排了與教學進度相配合的16個實訓指導,在附錄A中提供了兩個課程設計指導。每章之后還配有豐富的習題,在附錄B中還提供了部分習題的參考答案,以利于讀者理解課本內(nèi)容和適應考試。
《高職高專計算機專業(yè)規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)(C語言版)》結(jié)構(gòu)嚴謹、重點突出、通俗易懂,注重實踐能力培養(yǎng),既便于教學又便于自學。《高職高專計算機專業(yè)規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)(C語言版)》可作為高職高專院校計算機專業(yè)及相關專業(yè)的教材,對從事計算機應用的工程技術(shù)人員也是一本很有價值的參考書。
第1章 緒論
1.1 數(shù)據(jù)結(jié)構(gòu)的概念
1.1.1 基本概念和術(shù)語
1.1.2 數(shù)據(jù)結(jié)構(gòu)的定義
1.2 數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)
1.2.1 邏輯結(jié)構(gòu)
1.2.2 存儲結(jié)構(gòu)
1.3 算法
1.3.1 算法的概念及描述
1.3.2 算法的評價標準
1.3.3 算法的時間復雜度
本章小結(jié)
習題一
實訓1-1 算法性能分析
第2章 線性表
2.1 線性表的概念及運算
2.1.1 線性表的定義
2.1.2 線性表的基本運算
2.2 線性表的順序存儲結(jié)構(gòu)——順序表
2.2.1 順序存儲結(jié)構(gòu)的特點
2.2.2 順序表的基本操作
2.2.3 順序表的應用舉例
2.3 線性表的鏈式存儲結(jié)構(gòu)——鏈表
2.3.1 線性表的鏈式存儲結(jié)構(gòu)表示
2.3.2 單鏈表的基本操作
2.3.3 單鏈表的應用舉例
2.3.4 循環(huán)鏈表
2.3.5 雙向鏈表
2.3.6 順序表和鏈表的比較
本章小結(jié)
習題二
實訓2-1 順序表的操作
實訓2-2 鏈表的操作
第3章 棧和隊列
3.1 棧
3.1.1 棧的定義和基本操作
3.1.2 棧的順序存儲結(jié)構(gòu)
3.1.3 棧的鏈式存儲結(jié)構(gòu)
3.1.4 棧與遞歸的實現(xiàn)
3.2 隊列
3.2.1 隊列的定義及基本操作
3.2.2 隊列的順序存儲
3.2.3 隊列的鏈式存儲
本章小結(jié)
習題三
實訓3-1 棧的應用
實訓3-2 隊列的應用
第4章 數(shù)組和矩陣
4.1 數(shù)組
4.1.1 數(shù)組的定義
4.1.2 數(shù)組的順序表示和實現(xiàn)
4.2 特殊矩陣
4.2.1 三角矩陣
4.2.2 稀疏矩陣
本章小結(jié)
習題四
實訓4-1 建立稀疏矩陣的十字鏈表
第5章 串
5.1 串的定義及基本操作
5.2 串的存儲結(jié)構(gòu)
5.2.1 串的靜態(tài)存儲
5.2.2 串的動態(tài)存儲
5.2.3 串的基本操作的實現(xiàn)
本章小結(jié)
習題五
實訓5-1 串的綜合操作
第6章 樹和二叉樹
6.1 樹的基本概念
6.1.1 樹的定義
6.1.2 樹的邏輯表示
6.1.3 樹的基本術(shù)語
6.1.4 樹的基本概念分析
6.2 樹的存儲結(jié)構(gòu)和基本操作
6.2.1 樹的存儲結(jié)構(gòu)
6.2.2 樹的基本操作
6.3 二叉樹的定義和基本性質(zhì)
6.3.1 二叉樹的定義
6.3.2 二又樹的基本性質(zhì)
6.4 二叉樹的存儲結(jié)構(gòu)和基本操作
6.4.1 順序存儲結(jié)構(gòu)
6.4.2 鏈式存儲結(jié)構(gòu)
6.4.3 基本操作
6.5 二叉樹的遍歷
6.5.1 遍歷概述
6.5.2 遍歷算法
6.5.3 遍歷算法的應用
6.6 樹和森林與二叉樹之間的關系
6.6.1 樹轉(zhuǎn)換成二叉樹
6.6.2 森林轉(zhuǎn)換成二叉樹
6.6.3 二叉樹還原成森林
6.6.4 樹與森林的遍歷
6.7 哈夫曼樹及其應用
6.7.1 基本概念
6.7.2 哈夫曼樹(最優(yōu)二叉樹)
6.7.3 哈夫曼編碼
6.7.4 哈夫曼算法
本章小結(jié)
習題六
實訓6-1 樹的存儲結(jié)構(gòu)
實訓6-2 二叉樹的遍歷及應用
實訓6-3 哈夫曼編碼
第7章 圖
7.1 圖的基本概念
7.1.1 圖的定義
7.1.2 圖的基本術(shù)語
7.2 圖的存儲結(jié)構(gòu)
7.2.1 鄰接矩陣
7.2.2 鄰接表
7.3 圖的遍歷
7.3.1 深度優(yōu)先搜索
7.3.2 廣度優(yōu)先搜索
7.4 連通網(wǎng)的最小生成樹
7.4.1 生成樹及最小生成樹的相關概念
7.4.2 最小生成樹的構(gòu)造方法
7.5 最短路徑
7.5.1 最短路徑的概念
7.5.2 求單源最短路徑的方法
7.6 拓撲排序
本章小結(jié)
習題七
實訓7-1 圖的創(chuàng)建與存儲
實訓7-2 最小生成樹
第8章 查找
8.1 查找的基本概念
8.2 基于線性表的查找法
8.2.1 順序查找
8.2.2 折半查找
8.3 基于樹的查找
8.3.1 二叉排序樹的定義
8.3.2 二叉排序樹上的操作
8.3.3 性能分析
8.4 計算式查找法——哈希法
8.4.1 哈希法
8.4.2 哈希函數(shù)的構(gòu)造方法
8.4.3 處理沖突的方法
8.4.4 哈希法性能分析
本章小結(jié)
習題八
實訓8-1 分塊查找
實訓8-2 二叉排序樹的建立
第9章 排序
9.1 排序的基本概念
9.1.1 排序
9.1.2 穩(wěn)定排序與不穩(wěn)定排序
9.1.3 內(nèi)部排序和外部排序
9.2 插入排序
9.2.1 直接插入排序
9.2.2 折半插入排序
9.2.3 希爾排序
9.3 交換排序
9.3.1 冒泡排序
9.3.2 快速排序
9.4 選擇排序
9.4.1 直接選擇排序
9.4.2 堆排序
9.5 歸并排序
9.6 基數(shù)排序
9.7 排序算法
9.7.1 各種排序算法的比較
9.7.2 排序方法的選擇
本章小結(jié)
習題九
實訓9-1 內(nèi)部排序算法時問復雜度分析
實訓9-2 排序算法的應用
附錄A 課程設計指導
附錄B 部分習題參考答案