數據結構簡明教程(第2版)微課版

數據結構簡明教程(第2版)微課版

《數據結構簡明教程(第2版)微課版》是由李春葆主編,2019年清華大學出版社出版的高等學校數據結構課程系列教材。該教材可用作高等院校計算機及相關專業本、專科生數據結構課程的教材,也適合計算機愛好者和參加各類計算機考試的人員研習。

該教材內容包括概論、線性表、棧和佇列、串、數組和稀疏矩陣、樹和二叉樹、圖、查找和排序,附錄中給出了書中全部算法代碼清單和2018年全國計算機專業數據結構考研大綱。

基本介紹

  • 書名:數據結構簡明教程(第2版)微課版
  • 作者:李春葆
  • ISBN:9787302516309
  • 類別:高等學校數據結構課程系列教材
  • 出版社:清華大學出版社
  • 出版時間:2019年1月1日
  • 裝幀:平裝
  • 開本:16開
成書過程,內容簡介,教材目錄,教學資源,教材特色,作者簡介,

成書過程

該教材是作者針對數據結構課程的特點,在總結自己長期教學經驗的基礎上編寫的。
該教材的編寫得到湖北省教改項目“計算機科學與技術專業課程體系改革”的資助,清華大學出版社給予了支持,一些授課教師和同學提出了意見。
2019年1月1日,該教材由清華大學出版社出版。

內容簡介

全書分為9章,第1章為概論,介紹數據結構的基本概念,特彆強調了基本算法設計和分析的方法;第2章為線性表,介紹線性表的概念、兩種存儲結構即順序表和鍊表,線性表基本運算的實現算法以及線性表的套用;第3章為棧和佇列,介紹這兩種特殊線性表的概念、存儲結構和相關套用;第4章為串,介紹串的概念、串的兩種存儲結構和套用;第5章為數組和稀疏矩陣,介紹數組的概念、幾種特殊矩陣的壓縮方法、稀疏矩陣的定義和壓縮存儲結構;第6章為樹和二叉樹,介紹樹的概念和性質,二叉樹的概念,二叉樹的兩種主要存儲結構,二叉樹各種運算算法設計,哈夫曼樹和哈夫曼編碼,特別突出了二叉樹遞歸算法設計方法;第7章為圖,介紹圖的概念、圖的兩種主要的存儲結構、圖遍歷算法以及圖的各類套用;第8章為查找,介紹各種查找算法的實現過程;第9章為排序,介紹各種主要的內排序算法設計方法和基本的外排序過程。
附錄A給出了書中部分算法清單,附錄B給出了全國計算機專業數據結構2017年研究生聯考大綱。書中提供了練習題和上機實驗題,各類練習題401道,各類上機實驗題118道。

教材目錄

第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
上機實驗題1
第2章線性表
2.1線性表的基本概念
2.1.1線性表的定義
2.1.2線性表的基本運算
2.2順序表
2.2.1順序表的定義
2.2.2線性表基本運算在順序表上的實現
2.2.3順序表的算法設計示例
2.3單鍊表和循環單鍊表
2.3.1單鍊表的定義
2.3.2線性表基本運算在單鍊表上的實現
2.3.3單鍊表的算法設計示例
2.3.4循環單鍊表
2.3.5循環單鍊表的算法設計示例
2.4雙鍊表和循環雙鍊表
2.4.1雙鍊表的定義
2.4.2線性表基本運算在雙鍊表上的實現
2.4.3雙鍊表的算法設計示例
2.4.4循環雙鍊表
2.4.5循環雙鍊表的算法設計示例
2.5線性表的套用
2.5.1設計線性表應用程式的一般步驟
2.5.2線性表套用示例
小結
練習題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
上機實驗題3
第4章串
4.1串的基本概念
4.1.1串的定義
4.1.2串的基本運算
4.2串的順序存儲結構
4.2.1順序串的定義
4.2.2串基本運算在順序串上的實現
4.2.3順序串的算法設計示例
4.3串的鏈式存儲結構
4.3.1鏈串的定義
4.3.2串基本運算在鏈串上的實現
4.3.3鏈串的算法設計示例
4.4串的套用
小結
練習題4
上機實驗題4
第5章數組和稀疏矩陣
5.1數組
5.1.1數組的定義
5.1.2數組的存儲結構
5.1.3數組的算法設計示例
5.2特殊矩陣的壓縮存儲
5.3稀疏矩陣
5.3.1稀疏矩陣的三元組表示
5.3.2稀疏矩陣的十字鍊表表示
小結
練習題5
上機實驗題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.3遞歸算法設計方法
6.3.1什麼是遞歸
6.3.2遞歸算法設計一般方法
6.3.3二叉樹的遞歸算法設計
6.4二叉樹的基本運算算法
6.4.1二叉樹的基本運算
6.4.2二叉樹基本運算實現算法
6.5二叉樹的遍歷
6.5.1常用的二叉樹遍歷算法
6.5.2遍歷算法的套用
6.6二叉樹的構造
6.6.1什麼是二叉樹的構造
6.6.2二叉樹的構造方法
6.7二叉樹與樹之間的轉換
6.7.1森林/樹轉換成二叉樹
6.7.2二叉樹還原為樹/森林
6.8線索二叉樹
6.8.1什麼是線索
6.8.2線索二叉樹的存儲結構
6.8.3建立線索二叉樹及其銷毀
6.8.4線索二叉樹的基本運算算法
6.9哈夫曼樹
6.9.1哈夫曼樹的定義
6.9.2構造哈夫曼樹
6.9.3哈夫曼編碼
小結
練習題6
上機實驗題6
第7章圖
7.1圖的基本概念
7.1.1圖的定義
7.1.2圖的基本術語
7.1.3圖的基本操作
7.2圖的存儲結構
7.2.1鄰接矩陣
7.2.2鄰接表
7.3圖的遍歷
7.3.1深度優先遍歷算法
7.3.2廣度優先遍歷算法
7.3.3圖遍歷算法的套用
7.4生成樹和最小生成樹
7.4.1什麼是圖的生成樹和最小生成樹
7.4.2普里姆算法
7.4.3克魯斯卡爾算法
7.5最短路徑
7.5.1單源最短路徑算法
7.5.2多源最短路徑算法
7.6拓撲排序
7.7AOE網與關鍵路徑
小結
練習題7
上機實驗題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
上機實驗題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.7.1磁碟排序過程
9.7.2生成初始歸併段
9.7.3多路平衡歸併
9.7.4最佳歸併樹
小結
練習題9
上機實驗題9
附錄
附錄A書中部分算法清單
附錄B全國計算機專業數據結構2018年聯考大綱
參考文獻
(註:目錄排版順序為從左列至右列

教學資源

  • 配套教材
該教材配有配套教材——《數據結構簡明教程(第2版)學習與上機實驗指導》,該配套教材涵蓋所有練習題和上機實驗題的參考答案。
書名書號出版社作者
《數據結構簡明教程(第2版)學習與上機實驗指導》
9787302516293
清華大學出版社
李春葆
  • 課程資源
該教材的每個知識點都提供了配套的微課視頻和教學資源(含教學PPT和所有算法和示例源程式)。

教材特色

該教材的內容基本涵蓋了最新(截止2019年1月)全國計算機專業聯考大綱數據結構部分的知識點,講授上省去了一些難度較大的套用和擴展內容,如表達式求值和迷宮問題、串的KMP 算法和廣義表等。
該教材的主要特色如下:
  1. 該教材實現從C/C++語言程式設計到數據結構算法設計的無縫對接,對算法設計中用到的一些C/C++語言難點如指針、引用類型等,結合算法設計的特點予以充分的講述;實際上,算法描述中除了引用類型屬於C++,其他均採用C語言的基本語法;
  2. 通過示例講解數據結構解決問題的一般性思路,如一些綜合性示例統一從問題描述、設計存儲結構、設計基本運算算法、設計主程式和程式運行結果幾方面來講解,突出數據結構求解問題的三個層次;
  3. 採用圖示描述算法設計的思路,如求最小生成樹的Prim算法、求圖中最短路徑的Dijkstra算法和各種內排序算法中都通過直觀的圖示,不僅描述這些算法的設計思路,而且講解這些算法為什麼這樣設計的精髓;
  4. 注重算法設計的簡潔和易懂特性,同一種算法可以有多種設計方法,書中儘可能採用簡單的設計方法,如二叉排序樹查找、刪除等都用非遞歸算法來實現;
  5. 力求歸納數據結構算法設計的通用性方法,如單鍊表算法設計、遞歸算法設計、二叉樹的算法設計和圖算法設計等,都相應地總結出通用求解的方法。

作者簡介

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

相關詞條

熱門詞條

聯絡我們