數據結構與算法項目化教程(高職)

《數據結構與算法項目化教程(高職)》是2011年2月西安電子科技大學出版社出版的圖書,作者是楊文元

基本介紹

  • 書名:數據結構與算法項目化教程(高職)
  • 作者楊文元
  • ISBN:978-7-5606-2539-3
  • 定價:20.4
  • 出版社:西安電子科技大學出版社
  • 出版時間:2011-02
內容簡介,目錄,

內容簡介

教程以程式設計語言作為數據結構與算法的實現工具,構建了9個學習情境,分別是程式設計語言基礎、認識數據結構與算法、線性表、棧和佇列、串、樹和二叉樹、圖、排序、查找與演示項目開發等。

目錄

學習情境0 程式設計語言基礎 1
0.1 任務一 開發環境 1
0.1.1 子任務1 下載開發軟體 1
0.1.2 子任務2 JDK的安裝和配置 2
0.1.3 子任務3 NetBeans IDE的安裝和配置 4
0.1.4 子任務4 編寫及運行程式 6
0.2 任務二 編寫程式的基礎 7
0.2.1 子任務1 創建隨機數 8
0.2.2 子任務2 封裝與修飾符 10
0.2.3 子任務3 Java程式編寫規範 12
0.2.4 子任務4 方法的重載和覆蓋 13
0.3 任務三 構建簡單操作選單 18
0.3.1 子任務1 輸入/輸出 18
0.3.2 子任務2 程式控制 20
0.3.3 子任務3 異常處理 26
0.4 任務四 圖形界面與事件處理 29
0.4.1 子任務1 圖形界面演示 29
0.4.2 子任務2 圖形演示系統的構建過程 31
0.4.3 子任務3 按鈕事件處理 32
0.4.4 子任務4 編寫並運行主程式 33
0.5 任務五 檔案讀/寫操作 33
0.5.1 子任務1 創建目錄和檔案 33
0.5.2 子任務2 讀取檔案內容 34
學習情境1 認識數據結構與算法 36
1.1 任務一 初識數據結構和算法 36
1.1.1 子任務1 什麼是數據結構和算法 36
1.1.2 子任務2 數據結構與算法的重要性 36
1.1.3 子任務3 數據結構與算法課程 37
1.2 任務二 數據結構 37
1.2.1 子任務1 數據的處理 37
1.2.2 子任務2 數據結構的分類 38
1.2.3 子任務3 常用的數據結構 39
1.3 任務三 算法 41
1.3.1 子任務1 認識算法 41
1.3.2 子任務2 算法的重要特徵 42
1.3.3 子任務3 算法分析 42
1.3.4 子任務4 算法設計方法 43
1.3.5 子任務5 遞歸算法及案例 43
學習情境2 線性表 50
2.1 任務一 認識線性表 50
2.1.1 子任務1 初識線性表 50
2.1.2 子任務2 認識線性表的存儲結構 51
2.2 任務二 程式實現線性表的順序存儲結構及操作 52
2.2.1 子任務1 認識線性表的順序存儲結構 52
2.2.2 子任務2 線性表順序存儲結構的操作算法 52
2.2.3 子任務3 程式實現線性表順序存儲結構的操作 57
2.3 任務三 程式實現線性表的鏈式存儲結構及操作 68
2.3.1 子任務1 認識線性表的鏈式存儲結構 68
2.3.2 子任務2 線性表鏈式存儲結構的操作算法 69
2.3.3 子任務3 程式實現線性表鏈式存儲結構的操作 75
2.4 任務四 線性表的套用——解決約瑟夫環問題 81
2.4.1 子任務1 認識約瑟夫環 81
2.4.2 子任務2 約瑟夫環的程式實現 82
學習情境3 棧和佇列 86
3.1 任務一 棧 86
3.1.1 子任務1 認識棧 86
3.1.2 子任務2 操作棧的順序存儲結構 87
3.1.3 子任務3 操作棧的鏈式存儲結構 91
3.2 任務二 佇列 96
3.2.1 子任務1 認識佇列 96
3.2.2 子任務2 操作佇列的順序存儲結構 97
3.2.3 子任務3 操作棧的鏈式存儲結構 101
3.3 任務三 整合棧和佇列的操作 105
3.3.1 子任務1 構造主程式 105
3.3.2 子任務2 構造選單程式 106
學習情境4 串 113
4.1 任務一 認識串 113
4.1.1 子任務1 初識串 113
4.1.2 子任務2 串的基本運算 114
4.2 任務二 串的存儲結構 114
4.2.1 子任務1 串的順序存儲結構 114
4.2.2 子任務2 串的鏈式存儲結構 115
4.3 任務三 程式實現串的操作 115
4.3.1 子任務1 串的基本操作和算法 115
4.3.2 子任務2 創建主程式選單 118
學習情境5 樹和二叉樹 125
5.1 任務一 認識樹 125
5.1.1 子任務1 樹的基礎知識 125
5.1.2 子任務2 學習樹的術語 126
5.1.3 子任務3 樹的表示 127
5.2 任務二 二叉樹 128
5.2.1 子任務1 認識二叉樹 128
5.2.2 子任務2 二叉樹的基本性質 129
5.2.3 子任務3 二叉樹的存儲結構 130
5.3 任務三 二叉樹操作的程式實現 132
5.3.1 子任務1 構造二叉樹的程式實現框架 132
5.3.2 子任務2 二叉樹算法的程式實現 134
5.4 任務四 哈夫曼(Huffman)樹 149
5.4.1 子任務1 認識哈夫曼樹和哈夫曼編碼 149
5.4.2 子任務2 樹的路徑長度 151
5.4.3 子任務3 哈夫曼編碼的程式實現 152
學習情境6 圖 159
6.1 任務一 認識圖 159
6.1.1 子任務1 初識圖 159
6.1.2 子任務2 再識圖 161
6.2 任務二 圖的表示 163
6.2.1 子任務1 圖的鄰接矩陣表示 163
6.2.2 子任務2 圖的鄰接表表示 164
6.3 任務三 圖的遍歷 165
6.3.1 子任務1 圖的深度優先搜尋遍歷 166
6.3.2 子任務2 圖的廣度優先搜尋遍歷 166
6.4 任務四 圖的套用 167
6.4.1 子任務1 最小生成樹 167
6.4.2 子任務2 最短路徑 169
6.4.3 子任務3 拓撲排序 170
6.5 任務五 圖的程式實現 171
6.5.1 子任務1 構造圖的遍歷抽象類 172
6.5.2 子任務2 程式實現圖的鄰接矩陣表示 174
6.5.3 子任務3 程式實現圖的鄰接表表示 183
6.5.4 子任務4 存儲圖鄰接矩陣的檔案讀/寫實現 189
6.5.5 子任務5 圖的套用的程式實現 193
學習情境7 排序 197
7.1 任務一 認識排序 197
7.1.1 子任務1 學習排序基礎知識 197
7.1.2 子任務2 排序算法的指標分析 198
7.1.3 子任務3 程式算法的程式實現基礎 198
7.2 任務二 插入排序 203
7.2.1 子任務1 直接插入排序 204
7.2.2 子任務2 希爾排序 206
7.3 任務三 交換排序 207
7.3.1 子任務1 冒泡排序 208
7.3.2 子任務2 快速排序 209
7.4 任務四 選擇排序 212
7.4.1 子任務1 直接選擇排序 212
7.4.2 子任務2 堆排序 213
7.5 任務五 歸併排序——兩路歸併排序 217
7.5.1 子任務1 歸併排序 217
7.5.2 子任務2 歸併排序的程式實現 218
7.6 任務六 基數排序 219
7.6.1 子任務1 認識基數排序 220
7.6.2 子任務2 基數排序程式實現 220
學習情境8 查找與演示項目開發 225
8.1 任務一 認識查找 225
8.2 任務二 線性表的查找 225
8.2.1 子任務1 順序查找 226
8.2.2 子任務2 折半查找 227
8.2.3 子任務3 分塊索引查找 238
8.3 任務三 二叉排序樹查找 239
8.3.1 子任務1 認識二叉排序樹查找 239
8.3.2 子任務2 二叉排序樹查找的圖形演示項目 240
8.4 任務四 哈希表 255
8.4.1 子任務1 認識哈希表 255
8.4.2 子任務2 哈希函式的構造 255
8.4.3 子任務3 衝突及處理 256
8.4.4 子任務4 哈希表操作演示項目 257
參考文獻 264

相關詞條

熱門詞條

聯絡我們