數據結構教程(C++語言描述)

數據結構教程(C++語言描述)

《數據結構教程(C++語言描述)》是2014年8月清華大學出版社出版的圖書,作者是李春葆、陳良臣、尹為民、蔣晶珏、喻丹丹。

基本介紹

  • 中文名:數據結構教程(C++語言描述)
  • 作者:李春葆、陳良臣、尹為民、蔣晶珏、喻丹丹
  • 出版社:清華大學出版社
  • 出版時間:2014年8月
  • 定價:49 元
  • ISBN:9787302351214
內容簡介,圖書目錄,

內容簡介

本書系統地介紹了各種常用的數據結構以及排序、查找的各種算法,闡述了各種數據結構的邏輯關係、存儲表示及運算操作,並採用C++語言描述數據組織和算法實現。
全書既注重原理又注重實踐,配有大量的圖表、示例和習題,內容豐富,概念講解清楚,表達嚴謹,邏輯性強,語言精練,可讀性好。
本書既便於教師課堂講授,又便於自學者閱讀,既可作為高等院校計算機相關專業本科生、專科生的教材,也可供廣大從事計算機套用的科技人員參考。

圖書目錄

第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.4.1求解兩個多項式相加問題
2.4.2採用順序存儲結構求解
2.4.3採用鏈式存儲結構求解
本章小結
練習題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.1BruteForce算法
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.3線索二叉樹
6.3.1線索二叉樹的定義
6.3.2線索化二叉樹
6.3.3遍歷線索化二叉樹
6.4哈夫曼樹
6.4.1哈夫曼樹的定義
6.4.2哈夫曼樹的構造算法
6.4.3哈夫曼編碼
6.5二叉樹與樹、森林之間的轉換
6.5.1樹和二叉樹的轉換
6.5.2森林和二叉樹的轉換
本章小結
練習題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.5最短路徑
7.5.1路徑的概念
7.5.2求一個頂點到其餘各頂點的最短路徑
7.5.3求每對頂點之間的最短路徑
7.6拓撲排序
7.7AOE網與關鍵路徑
本章小結
練習題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.3.5234樹
8.3.6紅黑樹
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
第11章數據結構和STL
11.1STL概述
11.1.1STL的發展和特點
11.1.2C++標準庫和STL
11.1.3什麼是算法
11.1.4什麼是容器
11.1.5什麼是疊代器
11.1.6STL和數據結構的關係
11.2使用STL
11.2.1使用STL的名字空間
11.2.2使用STL的示例
11.3疊代器
11.3.1自己設計疊代器
11.3.2STL的疊代器及其使用
11.4容器
11.4.1順序容器
11.4.2關聯容器
11.4.3適配器容器
11.5算法
11.5.1非可變序列算法
11.5.2可變序列算法
11.5.3排序算法
11.5.4通用數值算法
本章小結
練習題11
附錄A書中部分算法清單
附錄B部分練習題參考答案
參考文獻

相關詞條

熱門詞條

聯絡我們