基於敏捷開發的數據結構研究

基於敏捷開發的數據結構研究

《基於敏捷開發的數據結構研究》是2013年出版的圖書,作者是黃復賢。

基本介紹

  • 中文名:基於敏捷開發的數據結構研究
  • 作 譯 者::黃復賢
  • 出版時間::2013-05
圖書信息,內容簡介,

圖書信息

作 譯 者:黃復賢
出版時間:2013-05
千 字 數:269
頁 數:188

內容簡介

數據結構在軟體設計中處於核心的地位,本書從敏捷軟體開發角度出發,討論程式設計、數據結構、軟體工程的綜合套用。第1章到第9章以開發數據結構算法演示軟體為例,討論如何基於敏捷軟體思想,實現數據結構中經典算法,並討論演示軟體開發思想、過程及方法。第10章討論基於基本數據結構的五子棋、對對碰、俄羅斯方塊等趣味遊戲軟體開發的研究與套用。
第1章 程式設計與敏捷開發……………………………………………………………… 1
1.1 程式設計能力的提高是一個長期的循序漸進的過程……………………………… 1
1.1.1 面向過程語言的淘汰與面向對象語言的流行…………………………………… 1
1.1.2 數據結構課程的變化對程式設計課程教學的影響……………………………… 2
1.1.3 新時期程式設計基礎課的要求…………………………………………………… 2
1.1.4 關於教材建設的思考與探索……………………………………………………… 2
1.2 在程式設計學習中主動實踐敏捷開發思想………………………………………… 4
1.2.1 敏捷軟體開發的四個核心觀點………………………………………………… 4
1.2.2 敏捷軟體開發的原則…………………………………………………………… 4
1.2.3 敏捷軟體開發的主要特徵……………………………………………………… 5
1.2.4 敏捷軟體開發的主要過程……………………………………………………… 6
1.2.5 敏捷軟體開發典型方法………………………………………………………… 6
1.2.6 兩種方法學的比較……………………………………………………………… 7
1.2.7 敏捷軟體開發思想的實踐……………………………………………………… 8
第2章 算法演示系統的敏捷開發……………………………………………… 10
2.1 算法演示系統原理…………………………………………………………………… 10
2.1.1 腳本語言……………………………………………………………………… 10
2.1.2 系統設計思想……………………………………………………………………11
2.2 開發過程與方法……………………………………………………………………… 11
2.2.1 面向對象的界面接口設計……………………………………………………… 11
2.2.2 疊代與重構……………………………………………………………………… 12
2.2.3 測試驅動………………………………………………………………………… 12
2.2.4 開發過程的線性化……………………………………………………………… 13
2.3 一個實例……………………………………………………………………………… 13
2.4 演示系統的構成……………………………………………………………………… 15
2.4.1 系統目錄與程式演示部分的關聯……………………………………………… 15
2.4.2 程式演示部分………………………………………………………………………16
2.5 演示類基類的實現…………………………………………………………………… 17
2.5.1 基類的成員說明……………………………………………………………… 17
2.5.2 算法代碼的填充……………………………………………………………… 18
2.5.3 腳本行的解釋………………………………………………………………… 19
2.5.4 簡單靜態變數的分配與變化………………………………………………… 20
2.5.5 二維數組的分配與值的修改………………………………………………… 21
2.5.6 系統工作棧的入棧及出棧……………………………………………………… 22
2.5.7 指針類型的結點申請………………………………………………………… 23
2.5.8 指針變數相互賦值……………………………………………………………… 24
2.5.9 對結點的數據域、指針域賦值………………………………………………… 27
2.6 演示算法的開發過程及方法……………………………………………………… 28
2.6.1 開發過程……………………………………………………………………… 28
2.6.2 輸入檢查……………………………………………………………………… 29
2.6.3 算法代碼輸出…………………………………………………………………… 30
2.6.4 算法的執行……………………………………………………………………… 31
2.6.5 腳本的輸出……………………………………………………………………… 32
2.7 結論………………………………………………………………………………… 34
第3章 線性表………………………………………………………………………… 35
3.1 順序結構線性表的操作……………………………………………………………… 36
3.1.1 順序表的類的定義……………………………………………………………… 36
3.1.2 主要方法說明…………………………………………………………………… 37
3.1.3 算法演示………………………………………………………………………… 38
3.2 鏈式結構線性表的操作……………………………………………………………… 40
3.2.1 鍊表的類的定義……………………………………………………………… 41
3.2.2 主要方法說明………………………………………………………………… 41
3.2.3 算法演示……………………………………………………………………… 45
3.3 Strategy模式與基於抽象類的套用………………………………………………… 47
第4章 棧……………………………………………………………………………… 51
4.1 棧及其實現………………………………………………………………………… 51
4.2 棧的簡單套用……………………………………………………………………… 53
4.2.1 簡單行編輯套用……………………………………………………………… 53
4.2.2 表達式求值……………………………………………………………………… 54
4.3 在漢諾塔遊戲中套用棧…………………………………………………………… 59
4.3.1 遞歸……………………………………………………………………………… 59
4.3.2 漢諾塔遊戲……………………………………………………………………… 59
4.4 八皇后問題和迷宮問題……………………………………………………………… 64
4.4.1 八皇后問題……………………………………………………………………… 64
4.4.2 迷宮問題………………………………………………………………………… 66
第5章 佇列……………………………………………………………………………… 71
5.1 佇列的存儲結構……………………………………………………………………… 71
5.2 鏈佇列………………………………………………………………………………… 72
5.2.1 類的定義及主要方法………………………………………………………… 72
5.2.2 在鏈佇列中插入與刪除元素………………………………………………… 74
5.3 循環佇列……………………………………………………………………………… 74
5.3.1 類的定義及主要方法…………………………………………………………… 74
5.3.2 在循環佇列中插入與刪除元素………………………………………………… 76
第6章 廣義表………………………………………………………………………… 78
6.1 廣義表的定義………………………………………………………………………… 78
6.2 廣義表的建立………………………………………………………………………… 78
6.3 求廣義表的深度…………………………………………………………………… 81
6.4 廣義表的取頭、取尾操作…………………………………………………………… 83
第7章 二叉樹……………………………………………………………………………86
7.1 二叉樹的建立…………………………………………………………………………86
7.1.1 先根遞歸建立二叉樹……………………………………………………………87
7.1.2 二叉樹的圖形顯示………………………………………………………………89
7.1.3 由二叉樹的先序和中序序列生成二叉樹………………………………………92
7.1.4 二叉排序樹的建立………………………………………………………………94
7.2 二叉樹的遍歷………………………………………………………………………97
7.2.1 二叉樹的遞歸遍歷算法………………………………………………………97
7.2.2 二叉樹的非遞歸遍歷算法………………………………………………………98
第8章 圖……………………………………………………………………………… 103
8.1 圖的存儲…………………………………………………………………………… 103
8.1.1 圖的輸入設計…………………………………………………………………… 103
8.1.2 圖的順序存儲…………………………………………………………………… 109
8.1.3 圖的鏈式存儲…………………………………………………………………… 112
8.2 基於順序存儲的算法……………………………………………………………… 117
8.2.1深度優先遍歷…………………………………………………………………… 117
8.2.2 廣度優先遍歷…………………………………………………………………… 119
8.2.3 單源點最短路徑問題…………………………………………………………… 120
8.3 基於鏈式存儲的算法……………………………………………………………… 122
8.3.1 求圖的入度……………………………………………………………………… 122
8.3.2 拓撲排序………………………………………………………………………… 123
8.3.3 求關鍵路徑……………………………………………………………………… 125
第9章 簡易套用系統的敏捷開發……………………………………………… 128
9.1 一種簡易資料庫類的設計與套用………………………………………………… 128
9.1.1 一種簡易資料庫類……………………………………………………………… 128
9.1.2 list類在開發中的套用………………………………………………………… 133
9.2 簡易競賽系統的開發……………………………………………………………… 133
9.2.1 編制用來輸入選擇題的程式…………………………………………………… 133
9.2.2 編制用來進行選擇題考試的程式……………………………………………… 137
9.2.3 編制進行文字錄入題考試的程式……………………………………………… 141
第10章 小遊戲軟體的敏捷設計與開發………………………………………… 146
10.1 五子棋遊戲………………………………………………………………………… 146
10.1.1 概要設計……………………………………………………………………… 146
10.1.2 界面設計……………………………………………………………………… 147
10.1.3 回響需求變化………………………………………………………………… 149
10.1.4 重構代碼以利於相應變化…………………………………………………… 150
10.1.5 相關算法的部分代碼……………………………………………………… 151
10.2 對對碰遊戲………………………………………………………………………157
10.2.1 遊戲簡介……………………………………………………………………… 157
10.2.2 總體設計思想………………………………………………………………… 157
10.2.3 界面設計……………………………………………………………………… 158
10.2.4 接口類設計…………………………………………………………………… 159
10.2.5 棋盤數據類設計……………………………………………………………… 159
10.2.6 相關類設計………………………………………………………………… 165
10.2.7 總結………………………………………………………………………… 168
10.3 俄羅斯方塊遊戲………………………………………………………………… 168
10.3.1 總體設計思想……………………………………………………………… 168
10.3.2 優先編寫測試程式…………………………………………………………… 169
10.3.3 疊代計畫實現類……………………………………………………………… 173
10.3.4 界面最佳化……………………………………………………………………… 175
10.3.5 總結…………………………………………………………………………… 178
參考文獻………………………………………………………………………………… 179

相關詞條

熱門詞條

聯絡我們