主要講解如何將數據結構概念用C++程序語言進行實作。
《圖解數據結構:使用C++》將復雜的理論結合圖文並茂的解說方式,並搭配豐富的圖表及范例介紹,將數據結構中重要的觀念及演算方法加以詮釋,集中學習焦點。
胡昭民,現任榮欽科技股份有限公司董事長,美國Rochester Institute of Technology計算機科學研究所畢業,長期從事信息教育及計算機圖書寫作的工作,並監制過多套游戲及教學軟件的研發。
目錄
第1章數據結構導論
1.1數據結構簡介
1.1.1數據結構的應用
1.1.2算法
1.1.3算法的描述工具
1.2認識程序設計
1.2.1高級程序設計語言
1.2.2程序設計要領
1.3程序設計的風格
1.3.1自頂向下與模塊化設計
1.3.2可讀性設計
1.3.3控制結構設計
1.3.4面向對象設計
1.4面向對象設計與C++
1.4.1C++的面向對象功能
1.4.2類的基本概念
1.4.3訪問權限關鍵詞
1.4.4繼承關系
1.4.5多態
1.5遞歸算法
1.5.1遞歸的定義
1.5.2斐波拉契數列
1.5.3漢諾塔問題
1.6程序效率的分析
1.6.1Big—oh
1.6.2Q(omega)
1.6.3θ(theta)
本章習題
第2章線性表
2.1線性表的定義
2.1.1線性表的用途
2.2數組
2.2.1一維數組
2.2.2二維數組
2.2.3多維數組
2.2.4結構數組
2.2.5C++的字符串
2.2.6字符串數組
2.2.7String類
2.2.8指針數組
2.3矩陣
2.3.1矩陣的運算
2.3.2稀疏矩陣
2.3.3上三角形矩陣
2.3.4下三角形矩陣
2.3.5帶狀矩陣
本章習題
第3章鏈表
3.1動態分配內存
3.1.1C++的動態分配變量
3.1.2動態配置數組
3.2單向鏈表
3.2.1單向鏈表的創建與遍歷
3.2.2單向鏈表插入新節點
3.2.3單向鏈表刪除節點
3.2.4單向鏈表的反轉
3.3環形鏈表
3.3.1環形鏈表中插入新節點
3.3.2環形鏈表節點的刪除
3.3.3環形鏈表的連接功能
3.4雙向鏈表
3.4.1雙向鏈表的建立與遍歷
3.4.2雙向鏈表中加入新節點
3.4.3雙向鏈表節點的刪除
3.5鏈表相關應用簡介
3.5.1多項式表式法
3.5.2稀疏矩陣表示法
本章習題
第4章堆棧與隊列
4.1堆棧簡介
4.1.1堆棧的基本操作
4.1.2用數組實現堆棧
4.1.3用鏈表實現堆棧
4.1.4堆棧類樣板的實現
4.1.5老鼠走迷宮
4.1.6八皇后問題
4.2算術表達式的表示法
4.2.1中序轉為前序與后序
4.2.2前序與后序轉為中序
4.2.3中序表示法求值
4.2.4前序法的求值運算
4.2.5后序法的求值運算
4.3隊列
4.3.1隊列的基本操作
4.3.2用數組實現隊列
4.4隊列的相關應用
4.4.1環形隊列
4.4.2雙向隊列
4.4,3優先隊列
本章習題
第5章樹狀結構
5.1樹的基本概念
5.1.1專有名詞介紹
5.2二叉樹
5.2.1二叉樹的特性
5.2.2特殊二叉樹簡介
5.3二叉樹的存儲方式
5.3.1一維數組表示法
5.3.2鏈表表示法
5.4二叉樹的遍歷
5.4.1中序遍歷
5.4.2后序遍歷
5.4.3前序遍歷
5.4.4二叉樹節點的插入與刪除
5.4.5二叉運算樹
5.5線索二叉樹
5.5.1二叉樹轉為線索二叉樹
5.6樹的二叉樹表示法
5.6.1樹轉化為二叉樹
5.6.2二叉樹轉換成樹
5.6.3森林化為二叉樹
5.6.4二叉樹轉換成森林
5.6.5樹與森林的遍歷
5.6.6確定僅有二叉樹
5.7優化二叉查找樹
5.7.1擴充二叉樹
5.7.2霍夫曼樹
5.8平衡樹
5.8.1平衡樹的定義
5.9高級樹狀結構的研究
5.9.1決策樹
5.9.2B樹
5.9.3二叉空間分割樹
5.9.4四叉樹與八叉樹
本章習題
第6章圖形結構
6.1圖形簡介
6.1.1圖的定義
6.1.2無向圖
6.1.3有向圖
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.1DFS生成樹和BFS生成樹
6.4.2最小生成樹
6.4.3Kruskal算法
6.4.4Prim算法
6.5圖的最短路徑
6.5.1單點對全部頂點
6.5.2兩兩頂點間的最短路徑
6.6AOV網絡與拓朴排序
6.6.1拓朴排列簡介
6.7AOE網絡
6.7.1關鍵路徑
本章習題
……
第7章排序
第8章查找
附錄AC/C++編譯程序的介紹與安裝
附錄BC++程序設計語言簡介
附錄C數據結構專有名詞索引
1.1數據結構簡介
1.1.1數據結構的應用
1.1.2算法
1.1.3算法的描述工具
1.2認識程序設計
1.2.1高級程序設計語言
1.2.2程序設計要領
1.3程序設計的風格
1.3.1自頂向下與模塊化設計
1.3.2可讀性設計
1.3.3控制結構設計
1.3.4面向對象設計
1.4面向對象設計與C++
1.4.1C++的面向對象功能
1.4.2類的基本概念
1.4.3訪問權限關鍵詞
1.4.4繼承關系
1.4.5多態
1.5遞歸算法
1.5.1遞歸的定義
1.5.2斐波拉契數列
1.5.3漢諾塔問題
1.6程序效率的分析
1.6.1Big—oh
1.6.2Q(omega)
1.6.3θ(theta)
本章習題
第2章線性表
2.1線性表的定義
2.1.1線性表的用途
2.2數組
2.2.1一維數組
2.2.2二維數組
2.2.3多維數組
2.2.4結構數組
2.2.5C++的字符串
2.2.6字符串數組
2.2.7String類
2.2.8指針數組
2.3矩陣
2.3.1矩陣的運算
2.3.2稀疏矩陣
2.3.3上三角形矩陣
2.3.4下三角形矩陣
2.3.5帶狀矩陣
本章習題
第3章鏈表
3.1動態分配內存
3.1.1C++的動態分配變量
3.1.2動態配置數組
3.2單向鏈表
3.2.1單向鏈表的創建與遍歷
3.2.2單向鏈表插入新節點
3.2.3單向鏈表刪除節點
3.2.4單向鏈表的反轉
3.3環形鏈表
3.3.1環形鏈表中插入新節點
3.3.2環形鏈表節點的刪除
3.3.3環形鏈表的連接功能
3.4雙向鏈表
3.4.1雙向鏈表的建立與遍歷
3.4.2雙向鏈表中加入新節點
3.4.3雙向鏈表節點的刪除
3.5鏈表相關應用簡介
3.5.1多項式表式法
3.5.2稀疏矩陣表示法
本章習題
第4章堆棧與隊列
4.1堆棧簡介
4.1.1堆棧的基本操作
4.1.2用數組實現堆棧
4.1.3用鏈表實現堆棧
4.1.4堆棧類樣板的實現
4.1.5老鼠走迷宮
4.1.6八皇后問題
4.2算術表達式的表示法
4.2.1中序轉為前序與后序
4.2.2前序與后序轉為中序
4.2.3中序表示法求值
4.2.4前序法的求值運算
4.2.5后序法的求值運算
4.3隊列
4.3.1隊列的基本操作
4.3.2用數組實現隊列
4.4隊列的相關應用
4.4.1環形隊列
4.4.2雙向隊列
4.4,3優先隊列
本章習題
第5章樹狀結構
5.1樹的基本概念
5.1.1專有名詞介紹
5.2二叉樹
5.2.1二叉樹的特性
5.2.2特殊二叉樹簡介
5.3二叉樹的存儲方式
5.3.1一維數組表示法
5.3.2鏈表表示法
5.4二叉樹的遍歷
5.4.1中序遍歷
5.4.2后序遍歷
5.4.3前序遍歷
5.4.4二叉樹節點的插入與刪除
5.4.5二叉運算樹
5.5線索二叉樹
5.5.1二叉樹轉為線索二叉樹
5.6樹的二叉樹表示法
5.6.1樹轉化為二叉樹
5.6.2二叉樹轉換成樹
5.6.3森林化為二叉樹
5.6.4二叉樹轉換成森林
5.6.5樹與森林的遍歷
5.6.6確定僅有二叉樹
5.7優化二叉查找樹
5.7.1擴充二叉樹
5.7.2霍夫曼樹
5.8平衡樹
5.8.1平衡樹的定義
5.9高級樹狀結構的研究
5.9.1決策樹
5.9.2B樹
5.9.3二叉空間分割樹
5.9.4四叉樹與八叉樹
本章習題
第6章圖形結構
6.1圖形簡介
6.1.1圖的定義
6.1.2無向圖
6.1.3有向圖
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.1DFS生成樹和BFS生成樹
6.4.2最小生成樹
6.4.3Kruskal算法
6.4.4Prim算法
6.5圖的最短路徑
6.5.1單點對全部頂點
6.5.2兩兩頂點間的最短路徑
6.6AOV網絡與拓朴排序
6.6.1拓朴排列簡介
6.7AOE網絡
6.7.1關鍵路徑
本章習題
……
第7章排序
第8章查找
附錄AC/C++編譯程序的介紹與安裝
附錄BC++程序設計語言簡介
附錄C數據結構專有名詞索引
網路書店
類別
折扣
價格
-
新書87折$256