數據結構實用教程(孫涌主編書籍)

《數據結構實用教程》是2006年出版的圖書,作者是孫涌。

基本介紹

  • 書名:數據結構實用教程
  • 作者:孫涌
  • ISBN:9787302121367
  • 出版時間:2006.01.01
書籍信息,內容簡介,目錄,

書籍信息

作者:孫涌
定價:22元
印次:1-2
ISBN:9787302121367
出版日期:2006.01.01
印刷日期:2007.03.07

內容簡介

本書是根據數據結構課程教學大綱的要求,結合作者多年實踐經驗積累而完成的具有工程實踐價值的數據結構教材。全書共分8章,每章均先給出本章的教學重點和難點,明確理論和技能要求及教學方法,以方便教和學。其中,第1章說明開設數據結構課程的意義;第2章詳細介紹了順序表和鍊表結構及其實現,這是其他數據結構的兩種實現基礎;第3章採用順序表和鍊表分別講解最基本的線性數據結構——堆疊、佇列和串;第4章和第5章介紹非線性數據結構——樹和圖。第6章提出了一種有工程套用價值的遞歸算法實現方法;第7章和第8章分別描述了多種查找和排序算法及其實現。本書配有電子課件,包括全部程式原始碼。 本書適合大專層次的各類型學歷教育,包括普通、成人和高職高專院校計算機相關專業的學生,也適合企業專業軟體開發人員使用

目錄

數據結構實用教程第1章數據結構概論1
1.1數據結構與軟體從業人員的未來發展2
1.1.1軟體的可重用模型2
1.1.2數據結構在軟體項目開發中的關鍵作用2
1.1.3數據結構與崗位分工3
1.1.4數據結構的重要地位與課程學習方法4
1.2數據結構綜述6
1.2.1數據結構基礎6
1.2.2常用數據結構說明7
1.2.3數據結構的實現基礎9
1.3算法綜述10
1.3.1算法初步10
1.3.2算法的構造11
1.3.3算法複雜度13
1.3.4基於遞歸的算法設計思想14
1.4數據結構與算法存在互為因果的辯證關係15
習題16
第2章線性表18
2.1線性表的概念及其基本運算19
2.1.1線性表的邏輯描述19
2.1.2線性表的基本運算19
2.2順序表——線性表的順序存儲方式20
2.2.1順序存儲結構20
2.2.2順序表基本操作的算法實現23
2.2.3順序表性能小結33
2.3鍊表——線性表的連結存儲方式33
2.3.1單向鍊表33
2.3.2單向鍊表的基本操作36
2.3.3單向循環鍊表51
2.3.4雙向鍊表和雙向循環鍊表52
2.3.5鍊表性能小結55
2.4二維數組的數據壓縮處理55
2.4.1有規律二維數組的一維化映射55
2.4.2無規律稀疏矩陣的數據壓縮處理57
習題58
數據結構實用教程目錄第3章堆疊、佇列和串62
3.1堆疊63
3.1.1堆疊的概念及其操作63
3.1.2堆疊的輸出序列分析64
3.1.3基於順序表的堆疊實現64
3.1.4基於鍊表的堆疊實現65
3.1.5堆疊套用66
3.2佇列68
3.2.1佇列的概念及其操作68
3.2.2循環佇列68
3.2.3基於順序表的佇列實現69
3.2.4基於鍊表的佇列實現70
3.2.5佇列套用71
3.3串72
3.3.1串的概念及其操作73
3.3.2串存儲結構描述74
3.3.3文本編輯75
習題76
第4章樹與二叉樹78
4.1樹與森林79
4.1.1基本概念與屬性79
4.1.2樹的存儲結構81
4.2二叉樹82
4.2.1基本概念82
4.2.2二叉樹的存儲結構84
4.3二叉樹遍歷85
4.3.1二叉樹的深度優先遍歷86
4.3.2二叉樹的寬度優先遍歷89
4.3.3二叉樹遍歷的工程化實現算法91
4.4樹與森林的基本操作92
4.4.1樹與二叉樹的相互轉換92
4.4.2森林與二叉樹的相互轉換93
4.4.3樹的深度優先遍歷94
4.4.4樹的寬度優先遍歷94
4.5二叉樹套用之一——二叉排序樹95
4.5.1二叉排序樹的定義和遍歷特徵95
4.5.2二叉排序樹基本操作的功能實現95
4.6二叉樹套用之二——Hufferman樹106
4.6.1Hufferman樹的定義和特徵106
4.6.2生成Hufferman樹的算法思路107
4.6.3Hufferman樹基本操作的功能實現109
習題116
第5章圖118
5.1基本概念118
5.1.1無向圖118
5.1.2有向圖120
5.2圖的存儲結構121
5.2.1鄰接矩陣表示法121
5.2.2鄰接表表示法122
5.3圖的遍歷123
5.3.1圖的深度優先遍歷123
5.3.2圖的寬度優先遍歷124
5.4生成樹和最小生成樹125
5.4.1生成樹126
5.4.2最小生成樹126
*5.4.3基於知識的最小生成樹128
5.5拓撲排序132
5.6關鍵路徑法135
5.7最短路徑139
5.7.1單點出發的最短路徑問題139
5.7.2多點出發的最短路徑問題140
習題145
第6章基於樹的工程性實用遞歸算法147
6.1算法的遞歸和非遞歸實現的性能分析147
6.1.1算法的遞歸實現方法性能分析147
6.1.2算法的非遞歸實現方法性能分析150
6.1.3算法的遞歸實現與非遞歸實現的比較151
6.2工程性實用遞歸算法解決方案152
6.2.1算法描述152
6.2.2基於樹的工程性實用遞歸算法實現152
6.3新算法套用舉例155
6.3.1fibonacci數列155
6.3.2漢諾塔157
6.3.3N皇后問題160
習題165
第7章查找167
7.1基本概念和意義167
7.2線性表查找168
7.2.1線性表的順序查找168
7.2.2順序表的折半查找170
7.2.3順序表的分塊查找172
7.2.4線性表的Hash散列查找173
7.3基於樹的結點查找176
7.3.1二叉排序樹176
7.3.2平衡二叉樹177
7.3.3一般二叉樹的結點查找182
習題183
第8章排序185
8.1基本概念185
8.2插入排序186
8.2.1直接插入排序186
8.2.2Shell排序188
8.3交換排序190
8.3.1冒泡排序190
8.3.2快速排序191
8.4選擇排序195
8.4.1直接選擇排序195
8.4.2二次選擇排序197
8.4.3堆排序199
8.5其他歸類排序方法202
8.5.1二路歸併排序202
8.5.2二叉排序樹排序205
8.5.3基數排序205
8.6排序小結207
習題208
附錄A實訓項目210
附錄B基於數組的函式原型定義和功能說明array.hc217
附錄C基於鍊表的函式原型定義和功能說明chain.hc222
附錄D基於鍊表的Hufferman樹函式原型定義和功能說明Huffer.hc230
附錄E教材電子課件所含檔案清單及其運行環境說明234
參考文獻237

相關詞條

熱門詞條

聯絡我們