數據結構與算法教程(C++版)實驗和課程設計

數據結構與算法教程(C++版)實驗和課程設計

《數據結構與算法教程(C++版)實驗和課程設計》是2012年10月清華大學出版社出版的圖書,作者是唐寧九、游洪躍、孫界平、朱宏、楊秋輝。

基本介紹

  • 書名:數據結構與算法教程(C++版)實驗和課程設計
  • 作者:唐寧九、游洪躍、孫界平、朱宏、楊秋輝
  • 出版社:清華大學出版社
  • 出版時間:2012年10月
  • 定價:19.5 元
  • ISBN:9787302280293
內容簡介,圖書目錄,

內容簡介

本書結合C++面向對象程式設計的特點,討論了數據結構與算法基礎知識,並構建了實驗與課程設計,對所有算法都在Visual C++ 6.0、Visual C++ 2005、Visual C++ 2005 Express、Dev-C++和MinGW Developer Studio開發環境中進行了嚴格的測試,並在作者個人網頁上提供了大量的教學支持內容。
通過本書的學習,不但能迅速提高數據結構與算法的水平,同時還能提高C++程式設計的能力。本書可作為數據結構、數據結構與算法分析、數據結構與算法設計、數據結構與算法等課程實驗與課程設計的教材,也可供其他從事軟體開發工作的讀者學習參考使用。

圖書目錄

第一部分 基礎知識1
1.1 緒論1
1.1.1 數據結構的基本概念1
1.1.2 算法和算法分析2
1.1.3 實用程式軟體包3
1.2 線性表6
1.2.1 線性表的邏輯結構6
1.2.2 線性表的順序存儲結構7
1.2.3 線性表的鏈式存儲結構8
1.3 棧和佇列9
1.3.1 棧9
1.3.2 佇列11
1.4 串13
1.4.1 串類型的定義13
1.4.2 字元串模式匹配算法13
1.5 數組和廣義表15
1.5.1 數組15
1.5.2 矩陣17
1.5.3 廣義表19
1.6 樹和二叉樹21
1.6.1 樹的基本概念21
1.6.2 二叉樹23
1.6.5 樹和森林27
1.6.6 哈夫曼樹與哈夫曼編碼33
1.6.7 樹的計數34
1.7 圖351.7.1 圖的定義和術語35
1.7.2 圖的存儲表示38
1.7.3 圖的遍歷40
1.7.4 圖的最小代價生成樹40
1.7.5 有向無環圖及套用41
1.7.6 最短路徑42
1.8 查找43
1.8.1 查找的基本概念43
1.8.2 靜態表的查找43
1.8.3 動態查找表44
1.8.4 散列表48
1.9 排序50
1.9.1 概述50
1.9.2 插入排序51
1.9.3 交換排序51
1.9.4 選擇排序51
1.9.5 歸併排序52
1.9.6 基數排序52
1.9.7 外部排序53
1.10 檔案54
1.10.1 主存儲器和輔助存儲器54
1.10.2 各種常用檔案結構54
1.11 算法設計與分析56
1.11.1 算法設計56
1.11.2 算法分析57
第二部分 實驗58
實驗1 不帶頭結點形式的單鍊表58
實驗2 改造串類69
實驗3 引用數使用空間表法廣義表存儲結構79
實驗4 改進哈夫曼樹類模板92
實驗5 改造最小生成樹的Kruskal算法的實現99
實驗6 鏈地址法處理衝突的散列表104
實驗7 最佳化快速排序算法的實現110
實驗8 n皇后問題114
第三部分 課程設計119
項目1 算術表達式求值119
項目2 簡單文本編輯器123
項目3 壓縮軟體132
項目4 公園導遊系統138
項目5 專家系統套用--動物遊戲143
項目6 詞典變位詞檢索系統148
附錄A 課本的軟體包154
附錄B 實驗報告格式159
附錄C 課程設計報告格式160
參考文獻161
第一部分 基礎知識1
1.1 緒論1
1.1.1 數據結構的基本概念1
1.1.2 算法和算法分析2
1.1.3 實用程式軟體包3
1.2 線性表6
1.2.1線性表的邏輯結構6
1.2.2 線性表的順序存儲結構7
1.2.3 線性表的鏈式存儲結構8
1.3 棧和佇列9
1.3.1 棧9
1.3.2 佇列11
1.4 串13
1.4.1 串類型的定義13
1.4.2 字元串模式匹配算法13
1.5 數組和廣義表15
1.5.1 數組15
1.5.2 矩陣17
1.5.3 廣義表20
1.6 樹和二叉樹22
1.6.1 樹的基本概念22
1.6.2 二叉樹24
1.6.3 二叉樹遍歷26
1.6.5 樹和森林28
1.6.6 哈夫曼樹與哈夫曼編碼34
1.6.7 樹的計數35
1.7 圖361.7.1 圖的定義和述語36
1.7.2 圖的存儲表示39
1.7.3 圖的遍歷41
1.7.4 圖的最小代價生成樹41
1.7.5 有向無環圖及套用42
1.7.6 最短路徑43
1.8 查找46
1.8.1 查找的基本概念46
1.8.2 靜態表的查找46
1.8.3 動態查找表47
1.8.4 散列表51
1.9 排序53
1.9.1 概述53
1.9.2 插入排序54
1.9.3 交換排序54
1.9.4 選擇排序55
1.9.5 歸併排序55
1.9.6 基數排序55
1.9.7 外部排序56
1.10 檔案57
1.10.1 主存儲器和輔助存儲器57
1.10.2 各種常用檔案結構58
1.11 算法設計與分析59
1.11.1 算法設計59
1.11.2 算法分析60
第二部分 實驗62
實驗1 不帶頭結點形式的單鍊表62
實驗2 改造串類73
實驗3 引用數使用空間表法廣義表存儲結構82
實驗4 改進哈夫曼樹類模板95
實驗5 改造最小生樹的Kruskal算法的實現103
實驗6 鏈地址法處理衝突的散列表108
實驗7 最佳化快速排序算法的實現114
實驗8 n皇后問題118
第三部分 課程設計123
項目1 算術表達式求值123
項目2 簡單本文編輯器127
項目3 壓 縮 軟 件136
項目4 公園導遊系統142
項目5 專家系統套用--動物遊戲147
項目6 詞典變位詞檢索系統152
附錄A 課本的軟體包158
附錄B 實驗報告格式163
附錄C 課程設計報告格式164
參考文獻165

相關詞條

熱門詞條

聯絡我們