算法與數據結構(第三版)

算法與數據結構(第三版)

基本介紹

  • 書名:算法與數據結構(第三版)
  • 作者:陳媛
    盧玲
    何波
    劉恆洋
  • ISBN:9787302539667
  • 定價:59元
  • 出版社:清華大學出版社
  • 出版時間:2020年1月
內容簡介,圖書目錄,

內容簡介

全書系統介紹了算法與數據結構方面的基本知識,重點闡述了基本數據結構及算法在程式開發中的套用方法。通過深入地學習和分析,能夠幫助讀者極大地提高軟體開發和設計能力。

圖書目錄

第1章緒論
1.1數據結構的基本概念與學習方法
1.1.1數據結構的研究對象
1.1.2數據結構的基本概念和基本術語
1.2算法與數據結構
1.2.1算法的概念
1.2.2描述算法的方法
1.2.3算法分析
1.3學習算法與數據結構的意義和方法
1.4C語言的數據類型及其算法描述
1.4.1C語言的基本數據類型概述
1.4.2C語言的數組和結構體數據類型
1.4.3C語言的指針類型概述
1.4.4C語言的函式
1.4.5用C語言驗證算法的方法
1.5從C語言到C++語言
1.5.1C++語言的類和抽象數據類型
1.5.2C++語言驗證算法的方法
1.5.3C++語言與C語言程式的區別
1.5.4C++語言的重要特性
習題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.4線性表的套用示例
2.5C++中的線性表
2.5.1C++中線性表抽象數據類型
2.5.2C++中線性表的順序存儲
2.5.3C++中線性表的鏈式存儲
習題2
上機練習2
第3章棧和佇列
3.1棧
3.1.1棧的基本概念
3.2棧的套用實例
3.2.1表達式求值
3.2.2棧與函式調用
3.2.3棧在回溯法中的套用
3.3佇列
3.3.1佇列的基本概念
3.3.2佇列的順序存儲結構
3.3.3佇列的鏈式存儲結構
3.4佇列的套用實例
3.4.1舞伴問題
3.4.2列印佇列的模擬管理
3.5遞歸
3.5.1遞歸的定義及遞歸模型
3.5.2遞歸的實現
3.5.3遞歸設計
3.5.4遞歸到非遞歸的轉換
3.6C++中的棧和佇列
3.6.1C++中的棧
3.6.2C++中的佇列
習題3
上機練習3
第4章數組和字元串
4.1數組
4.1.1數組的定義與操作
4.1.2數組的順序存儲結構
4.1.3矩陣的壓縮存儲方法
4.2字元串
4.2.1字元串的定義與操作
4.2.2字元串的存儲結構
4.2.3字元串基本操作的實現
4.2.4字元串的套用舉例
4.3C++中的數組和字元串
4.3.1C++中的數組
4.3.2C++中的字元串
習題4
上機練習4
第5章樹
5.1樹的概念與操作
5.1.1樹的概念
5.1.2樹的基本操作
5.2二叉樹
5.2.1二叉樹的概念
5.2.2二叉樹的性質
5.2.3二叉樹的存儲結構及其實現
5.3二叉樹的遍歷
5.3.1遞歸的遍歷算法
5.3.2二叉樹遍歷操作套用舉例
5.4.1線索二叉樹的定義
5.4.2線索二叉樹的常用運算
5.5一般樹的表示和遍歷
5.5.1一般樹的表示
5.5.2二叉樹與樹、森林之間的轉換
5.5.3一般樹的遍歷
5.6哈夫曼樹及其套用
5.6.1哈夫曼樹
5.6.2哈夫曼樹的套用
5.7C++中的樹
5.7.1C++中的二叉樹結點類
5.7.2C++中的二叉樹類
5.7.3C++中二叉樹的非遞歸遍歷
習題5
上機練習5
第6章圖
6.1圖的概念與操作
6.1.1圖的定義
6.1.2圖的基本術語
6.2圖的存儲結構
6.2.1鄰接矩陣
6.2.2鄰接表
6.2.3十字鍊表
6.2.4邊集數組
6.3圖的遍歷
6.3.1深度優先搜尋
6.3.2廣度優先搜尋
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.7C++中的圖
6.7.1C++中的圖類
6.7.2圖的鄰接表的C++程式
6.7.3圖的遍歷的C++程式
6.7.4圖的最小生成樹的C++程式
習題6
上機練習6
第7章查找
7.1基本概念與術語
7.2靜態查找表
7.2.1靜態查找表結構
7.2.2順序查找
7.2.3有序表的折半查找
7.2.4有序表的插值查找和斐波那契查找
7.2.5分塊查找
7.3動態查找表
7.3.3B樹和B+樹
7.4哈希表查找
7.4.1哈希表與哈希方法
7.4.2常用的哈希方法
7.4.3處理衝突的方法
7.4.4哈希表的查找分析
7.5C++中的查找
7.5.1靜態查找的C++程式
7.5.2動態查找的C++程式
習題7
上機練習7
第8章排序
8.1基本概念
8.2插入排序
8.2.1直接插入排序
8.2.2希爾排序
8.3交換排序
8.3.1冒泡排序
8.3.2快速排序
8.4選擇排序
8.4.1簡單選擇排序
8.4.2堆排序
8.5歸併排序
*8.6基數排序
*8.7外部排序簡介
8.7.1外存信息的存取
8.7.2外部排序的基本方法
8.8C++中的排序
習題8
上機練習8
第9章常用算法設計技術
9.1蠻力算法
9.1.1蠻力算法思想
9.1.2蠻力算法套用實例——最近對問題
9.2分治算法
9.2.1分治算法思想
9.2.2分治算法設計
9.2.3分治算法設計套用實例——棋盤覆蓋問題
9.3.1動態規划算法思想及設計
9.3.2動態規划算法套用實例——0/1背包問題
9.4貪心算法
9.4.1貪心算法技術思想
9.4.2貪心算法設計
9.4.3貪心算法套用實例——背包問題
9.5回溯算法
9.5.1回溯算法有關概念
9.5.2回溯算法思想
9.5.3回溯算法設計
9.5.4回溯算法套用實例——裝載問題
9.6.1分支限界算法思想
9.6.2分支限界算法設計
9.6.3分支限界算法套用實例——任務分配問題
習題9
上機練習9
10.1STL簡介
10.1.1容器
10.1.2疊代器
10.1.3算法
10.2STL套用實例
10.2.1雙向鍊表操作的STL實現
10.2.2STL測試程式
習題10
上機練習10
參考文獻

相關詞條

熱門詞條

聯絡我們