《數據結構教程(C#語言描述)》是由李春葆主編,2013年清華大學出版社出版的高等學校數據結構課程系列教材。該教材可作為高等院校計算機相關專業本科生、專科生的教材,也可供從事計算機套用的科技人員參考。
該教材介紹了常用的數據結構以及排序、查找的各種算法,闡述了各種數據結構的邏輯關係、存儲表示及運算操作,並採用C#語言描述數據組織和算法實現。
基本介紹
- 書名:數據結構教程(C#語言描述)
- 作者:李春葆
- 類別:高等學校數據結構課程系列教材
- 出版社:清華大學出版社
- 出版時間:2013年2月1日
- 頁數:367 頁
- 開本:16 開
- 裝幀:平裝
- ISBN:9787302305170
- 字數:596千字
- CIP核字號:2012257453
成書過程
修訂情況
出版工作
責任編輯 | 封面設計 | 責任校對 | 責任印製 |
---|---|---|---|
魏江江、王冰飛 | 楊兮 | 梁毅 | 王靜怡 |
內容簡介
教材目錄
第1章緒論 1.1什麼是數據結構 1.1.1數據結構的定義 1.1.2數據的邏輯結構 1.1.3數據的存儲結構 1.1.4數據的運算 1.1.5數據結構和數據類型 1.2算法及其描述 1.2.1什麼是算法 1.2.2算法描述 1.3算法分析 1.3.1算法的特性和算法設計的目標 1.3.2算法時間效率分析 1.3.3算法存儲空間分析 1.4數據結構的目標 本章小結 練習題1 第2章線性表 2.1線性表的定義 2.1.1什麼是線性表 2.1.2線性表的抽象數據類型描述 2.2線性表的順序存儲結構 2.2.1線性表的順序存儲結構——順序表 2.2.2順序表基本運算的實現 2.3線性表的鏈式存儲結構 2.3.1線性表的鏈式存儲結構——鍊表 2.3.2單鍊表 2.3.3雙鍊表 2.3.4循環鍊表 2.4線性表的套用 本章小結 練習題2 第3章棧和佇列 3.1棧 3.1.1棧的定義 3.1.2棧的順序存儲結構及其基本運算的實現 3.1.3棧的鏈式存儲結構及其基本運算的實現 3.1.4棧的套用 3.2佇列 3.2.1佇列的定義 3.2.2佇列的順序存儲結構及其基本運算的實現 3.2.3佇列的鏈式存儲結構及其基本運算的實現 3.2.4佇列的套用 本章小結 練習題3 第4章串 4.1串的基本概念 4.1.1什麼是串 4.1.2串的抽象數據類型 4.2串的存儲結構 4.2.1串的順序存儲結構——順序串 4.2.2串的鏈式存儲結構——鏈串 4.3串的模式匹配 4.3.1BruteForce算法 4.3.2KMP算法 本章小結 練習題4 第5章數組和廣義表 5.1數組 5.1.1數組的定義 5.1.2數組的存儲結構 5.1.3特殊矩陣的壓縮存儲 5.2稀疏矩陣 5.2.1稀疏矩陣的三元組表示 5.2.2稀疏矩陣的十字鍊表表示 5.3遞歸 5.3.1遞歸的定義 5.3.2何時使用遞歸 5.3.3遞歸模型 5.3.4遞歸算法設計的步驟 5.3.5遞歸算法轉換為非遞歸算法 5.4廣義表 5.4.1廣義表的定義 5.4.2廣義表的存儲結構 5.4.3廣義表的運算 本章小結 練習題5 第6章樹和二叉樹 6.1樹 6.1.1樹的定義 6.1.2樹的邏輯結構表示方法 6.1.3樹的基本術語 6.1.4樹的性質 | 6.1.5樹的基本運算 6.1.6樹的存儲結構 6.2二叉樹 6.2.1二叉樹的定義 6.2.2二叉樹的性質 6.2.3二叉樹與樹、森林之間的轉換 6.2.4二叉樹的存儲結構 6.2.5二叉樹的基本運算及其實現 6.2.6二叉樹的遍歷 6.2.7二叉樹的構造 6.2.8線索二叉樹 6.3哈夫曼樹 6.3.1哈夫曼樹的定義 6.3.2哈夫曼樹的構造算法 6.3.3哈夫曼編碼 本章小結 練習題6 第7章圖 7.1圖的基本概念 7.1.1圖的定義 7.1.2圖的基本術語 7.2圖的存儲結構和基本運算的實現 7.2.1鄰接矩陣存儲方法 7.2.2鄰接表存儲方法 7.3圖的遍歷 7.3.1圖的遍歷的概念 7.3.2深度優先遍歷 7.3.3廣度優先遍歷 7.3.4非連通圖的遍歷 7.3.5圖遍歷算法的套用 7.4圖的套用 7.4.1生成樹和最小生成樹 7.4.2最短路徑 7.4.3拓撲排序 7.4.4AOE網與關鍵路徑 本章小結 練習題7 第8章查找 8.1查找的基本概念 8.2線性表的查找 8.2.1順序查找 8.2.2折半查找 8.2.3索引存儲結構和分塊查找 8.3樹表的查找 8.3.1二叉排序樹 8.3.2平衡二叉樹 8.3.3B-樹 8.3.4B+樹 8.4哈希表查找 8.4.1哈希表的基本概念 8.4.2哈希函式構造方法 8.4.3哈希衝突的解決方法 8.4.4哈希表查找及性能分析 本章小結 練習題8 第9章內排序 9.1排序的基本概念 9.2插入排序 9.2.1直接插入排序 9.2.2折半插入排序 9.2.3希爾排序 9.3交換排序 9.3.1冒泡排序 9.3.2快速排序 9.4選擇排序 9.4.1簡單選擇排序 9.4.2堆排序 9.5歸併排序 9.6基數排序 9.7各種內排序方法的比較和選擇 本章小結 練習題9 第10章外排序 10.1外排序概述 10.2磁碟排序 10.2.1磁碟排序過程 10.2.2生成初始歸併段 10.2.3多路平衡歸併 10.2.4最佳歸併樹 本章小結 練習題10 附錄A部分練習題參考答案 參考文獻 |
教學資源
- 配套教材
書名 | 書號 | 出版社 | 作者 |
---|---|---|---|
《數據結構實踐教程(C#語言描述)》 | 9787302301721 | 清華大學出版社 | 李春葆 |
- 課程資源
教材特色
- 全書用300多幅圖來表述和講解數據的組織結構和算法設計思想;
- 該教材歸納各類算法設計的規律,如單鍊表算法中很多是基於建表算法的,二叉樹算法中很多是基於遍歷算法的,圖算法中很多是基於深度優先遍歷的;
- 該教材討論遞歸算法設計的方法,遞歸算法設計是數據結構課程中的難點之一,作者從遞歸模型入手,介紹了從求解問題中提取遞歸模型的通用方法,講解了從遞歸模型到遞歸算法設計的基本規律;
- 書中含有實踐項目,全面覆蓋並超越了教育部制定的《高等學校計算機科學與技術專業實踐教學體系與規範》中數據結構課程的實踐教學要求;作者已在VisualStudio.NET2005/2008開發環境中全部調試並通過這些實踐項目。