數據結構實例教程(C語言版)

數據結構實例教程(C語言版)

《數據結構實例教程(C語言版)》是2019年12月人民郵電出版社出版的圖書,作者是李剛、馮衛剛。

基本介紹

  • 書名:數據結構實例教程(C語言版)
  • 作者:李剛、馮衛剛
  • ISBN:9787115322814
  • 頁數:163頁
  • 定價:32元
  • 出版社:人民郵電出版社
  • 出版時間:2019年12月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書以“學生為中心”的理念為指導思想,內容精練,通俗易懂,既便於教學,又適合自學。教材每章均配有知識實踐項目,並配有數據結構綜合套用實例。
本書主要分為兩大部分:前10章為基礎知識部分,第 11章為綜合套用部分。基礎知識部分包括線性結構模組、非線性結構模組和簡單套用模組。綜合套用部分包括新生報到信息註冊系統設計模組、萬達停車場管理系統設計模組和最短時間旅遊路線查詢系統設計模組。
本書採用模組化的編寫方法,體現“易教、易學、易練”的特色,讓學生明白“是什麼”→“怎么做”→“怎么用”3個環節。第 一步:採用生活化的實例介紹模組涉及的基礎知識。第 二步:採用計算機描述語言講解模組涉及的數據結構和基本操作。第三步:系統套用知識提高相關模組的結構分析與套用能力。最後還通過綜合實踐讓學生有思考和擴展的空間,達到學以致用的教學目的。
本書可作為高職高專院校計算機專業的教材,也可供專接本學生參考。

圖書目錄

第 1章 緒論及C語言介紹 1
1.1 基本概念與術語 1
1.2 學習數據結構的意義 3
1.3 算法的描述和分析 5
1.4 C語言相關知識介紹 6
知識實踐一 學生管理系統登錄模組設計 9
習題 10
第 2章 線性表的結構分析與套用 12
2.1 線性表的邏輯結構 12
2.2 線性表的順序存儲結構 13
2.2.1 順序表定義及地址計算 13
2.2.2 順序表基本運算 13
2.3 線性表的鏈式存儲結構 16
2.3.1 單鍊表 16
2.3.2 循環鍊表 18
2.4 順序表和鍊表的比較 19
知識實踐二 學生管理系統成績插入、刪除模組設計 20
知識實踐三 嵌入式系統中任務的創建和刪除模擬設計 23
習題 25
第3章 棧和佇列的結構分析與套用 27
3.1 棧 27
3.1.1 棧的定義及基本運算 27
3.1.2 順序棧及操作實現 28
3.1.3 鏈棧及操作實現 30
3.2 佇列 32
3.2.1 佇列的定義及基本運算 32
3.2.2 順序佇列及操作實現 32
3.2.3 鏈佇列及操作實現 35
知識實踐四 計算器中進制轉換模組設計 37
知識實踐五 單片機或者嵌入式系統中斷模擬設計 39
知識實踐六 學生舞會舞伴配對系統設計 42
習題 44
第4章 字元串的結構分析與套用 46
4.1 串的定義及其運算 46
4.1.1 串的基本概念 46
4.1.2 串的基本運算 47
4.2 串的存儲結構 47
4.2.1 串的順序存儲結構 47
4.2.2 串的鏈式存儲結構 48
4.2.3 子串的定位運算 48
知識實踐七 學生管理系統家庭情況模組設計 49
習題 50
第5章 二維數組及廣義表的結構分析 51
5.1 二維數組的存儲結構及求址方法 51
5.2 矩陣的壓縮存儲 52
5.2.1 特殊矩陣 52
5.2.2 稀疏矩陣 53
5.3 廣義表的概念 54
知識實踐八 求二維數組元素在記憶體中的存儲位置 55
習題 56
第6章 樹和二叉樹的結構分析與套用 57
6.1 樹的概念 57
6.2 二叉樹 59
6.2.1 二叉樹的定義 59
6.2.2 二叉樹的性質 60
6.2.3 二叉樹的存儲結構 60
6.3  二叉樹的遍歷 64
6.4 線索二叉樹 66
6.5 樹和森林 67
6.5.1 樹、森林與二叉樹的相互轉換 67
6.5.2 樹的存儲結構 69
6.5.3 樹和森林的遍歷 71
6.6 哈夫曼樹及其套用 72
6.6.1 哈夫曼樹的定義 72
6.6.2 哈夫曼樹的構造 73
6.6.3 哈夫曼樹編碼 74
知識實踐九 利用二叉樹遍歷實現學生成績排序模組設計 74
習題 76
第7章 圖的結構分析與套用 80
7.1 圖的概念及相關術語 80
7.1.1 圖的概念 80
7.1.2 圖的相關術語 81
7.2 圖的存儲結構 83
7.2.1 鄰接矩陣表示法 83
7.2.2 鄰接表表示法 84
7.3 圖的遍歷 86
7.3.1 深度優先遍歷 87
7.3.2 廣度優先遍歷 89
7.4 最小生成樹 90
7.4.1 普里姆算法 91
7.4.2 克魯斯卡爾算法 91
7.5 最短路徑 92
7.5.1 單源最短路徑 92
7.5.2 每一對頂點之間的最短路徑 93
知識實踐十 江蘇省地級市組成的地圖遍歷 96
習題 98
第8章 查找的分析與套用 101
8.1 基本概念 101
8.2 線性表查找 102
8.2.1 順序查找 102
8.2.2 二分查找 103
8.2.3 分塊查找 105
8.3 二叉排序樹 106
8.3.1 二叉排序樹定義 106
8.3.2 二叉排序樹的插入和生成 107
8.3.3 二叉排序樹的刪除 108
8.3.4 二叉排序樹的查找 109
8.4 散列技術 109
8.4.1 散列表的概念 109
8.4.2 散列函式的構造方法 110
8.4.3 處理衝突的方法 110
知識實踐十一 利用二分法查找實現學生信息查詢模組設計 111
習題 113
第9章 排序的分析與套用 114
9.1 排序的基本概念 114
9.1.1 排序的定義 114
9.1.2 相關概念 115
9.2 插入排序 116
9.2.1 直接插入排序 117
9.2.2 希爾排序 120
9.3 交換排序 121
9.3.1 冒泡排序 121
9.3.2 快速排序 123
9.4 選擇排序 126
9.4.1 直接選擇排序 126
9.4.2 堆排序 128
9.5 歸併排序 131
9.6 各種內部排序算法的比較 133
知識實踐十二 學生總成績排序模組設計 134
習題 136
第 10章 檔案 138
10.1 檔案的概念 138
10.1.1 檔案的基本概念 138
10.1.2 檔案的邏輯結構和物理結構 139
10.1.3 檔案的操作 139
10.2 順序檔案 140
10.2.1 存儲在順序存儲器上的順序檔案 140
10.2.2 存儲在直接存儲器上的順序檔案 140
10.3 索引檔案 140
10.4 索引順序檔案 141
10.4.1 索引順序檔案的特點 141
10.4.2 VSAM檔案的組織方法 141
10.5 散列檔案 142
10.5.1 散列檔案的組織方式 142
10.5.2 散列檔案的操作 142
10.6 多關鍵字檔案 143
10.6.1 多關鍵字檔案概念 143
10.6.2 倒排檔案 144
10.6.3 多重表檔案 144
習題 146
第 11章 數據結構綜合套用 147
11.1 綜合套用一:新生報到信息註冊系統設計 147
11.1.1 案例需求分析 147
11.1.2 案例知識目標 148
11.1.3 案例核心算法及實現 148
11.1.4 其他參考代碼 151
11.2 綜合套用二:萬達停車場管理系統設計 152
11.2.1 案例需求分析 152
11.2.2 案例知識目標 154
11.2.3 案例核心算法及實現 154
11.2.4 其他參考代碼 158
11.3 綜合套用三:最短時間旅遊路線查詢系統設計 158
11.3.1 案例需求分析 158
11.3.2 案例知識目標 159
11.3.3 案例核心算法及實現 160
11.3.4 其他參考代碼 162

相關詞條

熱門詞條

聯絡我們