數據結構教程(第5版)

數據結構教程(第5版)

《數據結構教程(第5版)》是李春葆主編,2017年清華大學出版社出版的“十二五”普通高等教育本科國家級規劃教材、高等學校數據結構課程系列教材。該教材適合高等院校計算機和相關專業的本科生及研究生使用。

該教材共13章,內容包括緒論、線性表、棧和佇列、串、遞歸、數組和廣義表、樹和二叉樹、圖、查找、內排序、外排序和檔案等,書中給出了練習題和各類上機實驗題,每個知識點都配有視頻講解。

基本介紹

  • 書名:數據結構教程(第5版)
  • 作者:李春葆
  • 類別:“十二五”普通高等教育本科國家級規劃教材
  • 出版社:清華大學出版社
  • 出版時間:2017年5月1日
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787302455882
  • 字數:729千字
  • CIP核字號:2017283892
成書過程,修訂情況,出版工作,內容簡介,教材目錄,教學資源,教材特色,作者簡介,

成書過程

修訂情況

該教材是作者針對數據結構課程概念多、算法靈活和抽象性強等特點,在總結長期教學經驗的基礎上編寫的。該教材在前4版的基礎上針對教育部的考研大綱和讀者來信提出的要求進行了修訂。
該教材的編寫得到武漢大學“弘毅學堂”數據結構榮譽課程教學項目和湖北省“計算機科學與技術專業課程體系改革”項目的支助,聚集了課程組教師在數據結構課程教學研究和教學改革中的經驗與成果;在編寫過程中得到王麗娜、黃傳河和吳黎兵等多位教授、博導的支持,陳國良院士提供了指導意見,一些使用該教材的老師和同學給予了幫助。

出版工作

2017年5月1日,該教材由清華大學出版社出版。
出版社工作人員
責任編輯
封面設計
責任校對
責任印製
魏江江、王冰飛
楊兮
李建莊
楊艷

內容簡介

全書分為13章和5個附錄,第1章為緒論,介紹數據結構的基本概念,特彆強調算法分析的方法;第2章為線性表,介紹線性表的兩種存儲結構——順序表和鍊表,以及基本運算算法的實現過程;第3章為棧和佇列,介紹這兩種特殊的線性結構的概念與套用;第4章為串,介紹串的概念與模式匹配算法;第5章為遞歸,討論計算機學科中遞歸算法的設計方法;第6章為數組和廣義表,介紹數組、稀疏矩陣和廣義表的概念與相關運算算法的實現過程;第7章為樹和二叉樹,介紹樹和二叉樹的概念與各種運算算法的實現過程,其中特別介紹二叉樹的各種遞歸算法方法;第8章為圖,介紹圖的概念和圖的各種運算算法的實現過程;第9章為查找,介紹各種查找算法的實現過程;第10章為內排序,介紹各種內排序算法的實現過程;第11章為外排序,介紹各種外排序算法的實現過程;第12章為檔案,介紹各類檔案的組織結構;第13章為採用面向對象的方法描述算法,介紹面向對象的概念和採用C++語言描述數據結構算法的方法。
附錄A給出了實驗報告格式,附錄B是引用型參數和指針引用型參數的說明,附錄C給出了書中全部算法的索引,附錄D給出了書中相關名詞的索引,附錄E為教育部頒布的2016年全國計算機專業碩士研究生入學考試專業課中的數據結構部分考試大綱。

教材目錄

第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.2.3算法描述
1.3算法分析
1.3.1算法分析概述
1.3.2算法時間性能分析
1.3.3算法空間性能分析
1.4數據結構+算法=程式
1.4.1程式和數據結構
1.4.2算法和程式
1.4.3算法和數據結構
1.4.4數據結構的發展
本章小結
練習題1
上機實驗題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.5有序表
2.5.1有序表的抽象數據類型描述
2.5.2有序表的存儲結構及其基本運算算法
2.5.3有序表的歸併算法
2.5.4有序表的套用
本章小結
練習題2
上機實驗題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.2.5雙端佇列
本章小結
練習題3
上機實驗題3
驗證性實驗
設計性實驗
綜合性實驗
第4章串
4.1串的基本概念
4.2串的存儲結構
4.2.1串的順序存儲結構——順序串
4.2.2串的鏈式存儲結構——鏈串
4.3串的模式匹配
4.3.1BruteForce算法
4.3.2KMP算法
本章小結
練習題4
上機實驗題4
驗證性實驗
設計性實驗
綜合性實驗
第5章遞歸
5.1什麼是遞歸
5.1.1遞歸的定義
5.1.2何時使用遞歸
5.1.3遞歸模型
5.1.4遞歸與數學歸納法
5.2棧和遞歸
5.2.1函式調用棧
5.2.2遞歸調用的實現
5.2.3遞歸到非遞歸的轉換
5.3遞歸算法的設計
5.3.1遞歸算法設計的步驟
5.3.2基於遞歸數據結構的遞歸算法設計
5.3.3基於遞歸求解方法的遞歸算法設計
本章小結
練習題5
上機實驗題5
驗證性實驗
設計性實驗
綜合性實驗
第6章數組和廣義表
6.1數組
6.1.1數組的基本概念
6.1.2數組的存儲結構
6.1.3特殊矩陣的壓縮存儲
6.2稀疏矩陣
6.2.1稀疏矩陣的三元組表示
6.2.2稀疏矩陣的十字鍊表表示
6.3廣義表
6.3.1廣義表的定義
6.3.2廣義表的存儲結構
6.3.3廣義表的運算
本章小結
練習題6
上機實驗題6
驗證性實驗
設計性實驗
綜合性實驗
第7章樹和二叉樹
7.1樹的基本概念
7.1.1樹的定義
7.1.2樹的邏輯表示方法
7.1.3樹的基本術語
7.1.4樹的性質
7.1.5樹的基本運算
7.1.6樹的存儲結構
7.2二叉樹的概念和性質
7.2.1二叉樹的定義
7.2.2二叉樹的性質
7.2.3二叉樹與樹、森林之間的轉換
7.3二叉樹的存儲結構
7.3.1二叉樹的順序存儲結構
7.3.2二叉樹的鏈式存儲結構
7.4二叉樹的基本運算及其實現
7.4.1二叉樹的基本運算概述
7.4.2二叉樹的基本運算算法實現
7.5二叉樹的遍歷
7.5.1二叉樹遍歷的概念
7.5.2先序、中序和後序遍歷遞歸算法
7.5.3先序、中序和後序遍歷非遞歸算法
7.5.4層次遍歷算法
7.6二叉樹的構造
7.7線索二叉樹
7.7.1線索二叉樹的概念
7.7.2線索化二叉樹
7.7.3遍歷線索化二叉樹
7.8哈夫曼樹
7.8.1哈夫曼樹概述
7.8.2哈夫曼樹的構造算法
7.8.3哈夫曼編碼
7.9用並查集求解等價問題
7.9.1什麼叫並查集
7.9.2並查集的算法實現
本章小結
練習題7
上機實驗題7
驗證性實驗
設計性實驗
綜合性實驗
第8章圖
8.1圖的基本概念
8.1.1圖的定義
8.1.2圖的基本術語
8.2圖的存儲結構和基本運算算法
8.2.1鄰接矩陣存儲方法
8.2.2鄰接表存儲方法
8.2.3圖基本運算算法設計
8.2.4其他存儲方法
8.3圖的遍歷
8.3.1圖的遍歷的概念
8.3.2深度優先遍歷
8.3.3廣度優先遍歷
8.3.4非連通圖的遍歷
8.3.5圖遍歷算法的套用
8.4生成樹和最小生成樹
8.4.1生成樹的概念
8.4.2無向圖的連通分量和生成樹
8.4.3普里姆算法
8.4.4克魯斯卡爾算法
8.5最短路徑
8.5.1路徑的概念
8.5.2從一個頂點到其餘各頂點的最短路徑
8.5.3每對頂點之間的最短路徑
8.6拓撲排序
8.7AOE網與關鍵路徑
8.7.1相關概念
8.7.2求AOE網的關鍵活動
本章小結
練習題8
上機實驗題8
驗證性實驗
設計性實驗
綜合性實驗
第9章查找
9.1查找的基本概念
9.2線性表的查找
9.2.1順序查找
9.2.2折半查找
9.2.3索引存儲結構和分塊查找
9.3樹表的查找
9.3.1二叉排序樹
9.3.2平衡二叉樹
9.3.3B-樹
9.3.4B+樹
9.4哈希表的查找
9.4.1哈希表的基本概念
9.4.2哈希函式的構造方法
9.4.3哈希衝突的解決方法
9.4.4哈希表的運算算法
本章小結
練習題9
上機實驗題9
驗證性實驗
設計性實驗
綜合性實驗
第10章內排序
10.1排序的基本概念
10.2插入排序
10.2.1直接插入排序
10.2.2折半插入排序
10.2.3希爾排序
10.3交換排序
10.3.1冒泡排序
10.3.2快速排序
10.4選擇排序
10.4.1簡單選擇排序
10.4.2堆排序
10.5歸併排序
10.6基數排序
10.7各種內排序方法的比較和選擇
本章小結
練習題10
上機實驗題10
驗證性實驗
設計性實驗
綜合性實驗
第11章外排序
11.1外排序概述
11.2磁碟排序
11.2.1磁碟排序概述
11.2.2生成初始歸併段
11.2.3多路平衡歸併
11.2.4最佳歸併樹
11.3磁帶排序
11.3.1多路平衡歸併排序
11.3.2多階段歸併排序
本章小結
練習題11
上機實驗題11
驗證性實驗
設計性實驗
第12章檔案
12.1檔案的基本概念
12.1.1什麼是檔案
12.1.2檔案的邏輯結構及操作
12.1.3檔案的存儲結構
12.2順序檔案
12.3索引檔案
12.3.1ISAM檔案
12.3.2VSAM檔案
12.4哈希檔案
12.5多關鍵字檔案
12.5.1多重表檔案
12.5.2倒排檔案
本章小結
練習題12
上機實驗題12
驗證性實驗
設計性實驗
第13章採用面向對象的方法描述算法
13.1面向對象的概念
13.2用C++描述面向對象的程式
13.2.1類
13.2.2類對象
13.2.3構造函式和析構函式
13.2.4模板類
13.3用C++描述數據結構算法
13.3.1順序表類模板
13.3.2鏈棧類模板
13.4使用STL設計數據結構算法
附錄A實驗報告格式
一、設計人員相關信息
二、程式設計相關信息
三、實驗提交內容
附錄B引用型參數和指針引用型參數的說明
附錄C算法索引
附錄D名詞索引
附錄E全國計算機專業數據結構2016年
聯考大綱
參考文獻
(註:目錄排版順序為從左列至右列

教學資源

  • 配套教材
該教材配有配套教材——《數據結構教程(第5版)上機實驗指導》《數據結構教程(第5版)學習指導》。
書名
書號
出版社
作者
《數據結構教程(第5版)上機實驗指導》
9787302455868
清華大學出版社
李春葆
《數據結構教程(第5版)學習指導》
9787302455875
清華大學出版社
李春葆
  • 課程資源
該教材還提供ppt課件、源碼、答案、word教案、期末試卷、教學大綱、演示系統、50小時視頻、源程式代碼和練習題參考答案等教學資源。

教材特色

該教材突出上機實習內容,書中給出了上機實驗題(分為驗證性實驗、設計性實驗和綜合性實驗)供教師和學生選用。該教材中的所有程式均在VisualC++6.0和DevC++5環境下調試通過。

作者簡介

李春葆,男,博士,武漢大學計算機學院計算機科學系教授、碩士生導師。研究領域為數據倉庫和數據挖掘。講授本科生《數據結構》和《軟體工程》課程,碩士研究生《軟體開發新技術》和《空間資料庫》等課程。

相關詞條

熱門詞條

聯絡我們