本教材由淺入深,循序漸進,概念清楚,內(nèi)容全面,系統(tǒng)地介紹了數(shù)據(jù)結構的相關知識。同時,本教材注重邏輯思維能力和算法分析能力的培養(yǎng)。本教材采用面向對象的方法講述各種數(shù)據(jù)結構的特點及其操作算法,同時通過大量的案例強化面向對象程序設計能力的培養(yǎng)與提高。全書分為10章,涵養(yǎng)了線性表、棧、隊列、串、數(shù)組、廣義表、樹(二叉樹)、圖、查找和排序等內(nèi)容。
1.“數(shù)據(jù)結構”課程內(nèi)容多,概念抽象,理論深奧,遞歸算法難度較大,而用Java講數(shù)據(jù)結構,可以大大降低難度。
2.精選基礎理論內(nèi)容,降低理論難度和抽象性,加強實踐環(huán)節(jié)等措施,來增強學生的面向對象程序設計能力和應用能力培養(yǎng)和提高。
3.書中案例兼顧大數(shù)據(jù)技術、物聯(lián)網(wǎng)等新專業(yè)方向的對地理位置、圖像、視頻等數(shù)據(jù)處理的需要,強化了諸如串、矩陣、樹和圖等數(shù)據(jù)結構的設計和應用,從而為新興的技術應用提供更多的支持。
4.配套資源豐富,本教材每章附具有針對性的習題、上機實驗;為方便教學,本教材提供教學大綱、實驗教學大綱和多媒體課件;本教材還為任課教材提供期末考試試題和答案。
羅福強,副教授,暢銷教材作者。其編寫的《Visual C#.NET程序設計教程》教材,累計銷售數(shù)萬冊。
第1章 概述
1.1 數(shù)據(jù)結構的作用和意義
1.1.1 數(shù)據(jù)結構的作用
1.1.2 數(shù)據(jù)結構的意義
1.2 基本概念和術語
1.2.1 基本概念和術語
1.2.2 數(shù)據(jù)的邏輯結構
1.2.3 數(shù)據(jù)的物理結構
1.3 面向對象的數(shù)據(jù)結構表示
1.3.1 Java面向對象基礎
1.3.2 面向對象的抽象數(shù)據(jù)類型
1.3.3 使用Java語言描述數(shù)據(jù)結構的優(yōu)勢
1.4 算法和算法分析
1.4.1 算法的基本概念
1.4.2 算法效率的度量
1.4.3 算法效率分析
1.5 習題
第2章 線性表
2.1 線性表的邏輯結構
2.1.1 線性表的概念
2.1.2 線性表的基本操作
2.2 線性表的順序表示和實現(xiàn)
2.2.1 線性表的順序表示
2.2.2 順序表的實現(xiàn)
2.2.3 順序表的應用
2.3 線性表的鏈式表示和實現(xiàn)
2.3.1 線性表的鏈式表示
2.3.2 單鏈表的實現(xiàn)
2.3.3 循環(huán)鏈表
2.3.4 雙向鏈表
2.3.5 鏈表的應用--鏈表合并與一元多項式相加
2.4 習題
2.5 實訓
第3章 棧和隊列
3.1棧
3.1.1 棧的定義及基本運算
3.1.2 順序棧
3.1.3 鏈棧
3.2隊列
3.2.1 隊列的定義及基本運算
3.2.2 順序隊列
3.2.3 鏈隊列
3.3 棧和隊列的應用舉例
3.3.1 棧應用之一:數(shù)制轉換
3.3.2 棧的應用之二:括號匹配
3.3.3 棧的應用之三:表達式求值
3.3.4 隊列應用之一:模擬服務臺前的排隊現(xiàn)象問題
3.3.5 隊列應用之二:批量任務的處理
3.4 習題
3.5 實訓
第4章 串、矩陣和廣義表
4.1 串及其運算
4.1.1 串的基本概念
4.1.2 串的基本操作
4.2 串的順序存儲與實現(xiàn)
4.2.1 順序存儲結構
4.2.2 串的實現(xiàn)
4.3.2 模式匹配
4.3 矩陣
4.3.1 特殊矩陣
4.3.2 稀疏矩陣
4.4 廣義表
4.4.1 廣義表的邏輯結構
4.4.2 廣義表的存儲結構及實現(xiàn)
4.5 串的應用:文本編輯
4.6 矩陣的應用:矩陣運算與實現(xiàn)
4.6.1 矩陣運算的意義
4.6.2 矩陣的加法
4.6.3 矩陣的乘法
4.6.4 矩陣的轉置
4.7 習題
4.8 實訓
第五章 樹和二叉樹
5.1樹的定義和基本術語
5.1.1 樹的定義
5.1.2 樹的表示方法
5.1.3 樹的術語
5.2 二叉樹
5.2.1二叉樹基本概念
5.2.2二叉樹的性質
5.2.3 二叉樹的存儲結構
5.2.4 二叉樹的基本操作及實現(xiàn)
5.3二叉樹遍歷
5.3.1二叉樹遍歷
5.3.2線索二叉樹
5.3.2線索二叉樹的基本操作實現(xiàn)
5.4樹和森林
5.4.1樹的存儲結構
5.4.2樹和森林與二叉樹之間的轉換
5.4.3樹的遍歷
5.4.4 森林的遍歷
5.5 二叉樹的應用:Huffman樹與Huffman編碼
5.5.1哈夫曼樹
5.5.2哈夫曼樹的構造算法
5.5.3哈夫曼編碼
5.6 二叉樹的應用:二叉排序樹與查找
5.6.1二叉排序樹
5.6.2 二叉排序樹的查找
5.6.3 二叉排序樹的插入
5.6.4 二叉排序樹的刪除
5.7 習題
5.8 實訓
第6章 圖
6.1圖的定義及其常用術語
6.1.1 圖的定義
6.1.2 圖的常用術語及含義
6.2 圖的存儲結構
6.2.1鄰接矩陣
6.2.2鄰接表
6.3圖的遍歷
6.3.1深度優(yōu)先搜索
6.3.2廣度優(yōu)先搜索
6.4生成樹和最小生成樹
6.4.1生成樹
6.4.2最小生成樹
6.5圖的應用
6.5.1最短路徑
6.5.2拓撲排序
6.5.3關鍵路徑
6.6 習題與解析
6.7 實訓
第7章 查找
7.1基本概念
7.2 靜態(tài)查找表
7.2.1 順序查找
7.2.2折半查找
7.3 動態(tài)查找表
7.3.1二叉排序樹
7.3.2平衡二叉樹
7.3.3 B-樹
7.4哈希表
7.4.1哈希表的概念
7.4.2哈希函數(shù)的構建
7.4.3 處理沖突
7.4.4 哈希表的查找及其分析
7.5 習題與解析
7.6實訓
第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.8 實訓
第9章 綜合項目實訓
9.1實習實訓題目及設計要求
9.1.1 評分參考評準
9.1.2 智能倉庫控制系統(tǒng)
9.1.3 運動會分數(shù)統(tǒng)計
9.1.4 學生成績管理系統(tǒng)
9.1.5 飛機售票系統(tǒng)
9.1.6倉庫貨物管理系統(tǒng)
9.1.7 校園導游系統(tǒng)設計
9.2 實習實訓與課程設計報告模板