预购商品
书目分类
特别推荐
本書全面、系統地介紹了各種常見的數據結構及其存儲表示,並討論了數據結構的基本操作和實際演算法。全書共9章。第1章為概論,引入數據、數據結構、抽象數據類型等基本概念;第2~7章分別介紹線性表、棧和佇列、串、數組、矩陣、廣義表、樹和二叉樹、圖等基本類型的數據結構及應用,從抽象數據類型的角度進行分析;第8章和第9章分別介紹查找和內部排序,除了介紹各種實現方法外,著重從時間上進行定性或定量的分析。 本書對各類數據結構的分析均按照“邏輯結構-抽象數據類型-存儲結構-基本操作的實現及時空分析-應用”的順序進行,體現了使用計算機進行數據處理的過程,即軟件開發的過程。本書講解深入淺出,注重理論與實踐相結合,內容設計的廣度和深度均符合計算機及相關專業的培養目標。 全書統一採用Java語言描述演算法,以物件導向方法實現數據結構,並基於此分析不同的存儲結構和演算法對軟件內在品質的影響。本書可作為高等院校計算機及相關專業數據結構課程的教材,也可作為從事計算機應用的科技人員的參考用書,還可作為非計算機專業的學生及廣大計算機愛好者的閱讀參考書。
第1章 概論 1.1數據結構的地位 1.2基本概念和術語 1.2.1數據結構的基本概念 1.2.2數據結構的種類 1.2.3數據結構的數學定義 1.2.4數據的存儲結構 1.2.5抽象數據類型 1.3數學預備知識 1.3.1集合 1.3.2常用的數學術語 1.3.3對數 1.4演算法和演算法分析 1.4.1演算法的定義和特性 1.4.2演算法設計的要求 1.4.3演算法的時間效率分析 1.4.4演算法的空間效率分析 本章小結 習題1 第2章 線性表 2.1線性表的基本概念 2.1.1線性表的定義 2.1.2線性表的特點 2.1.3線性表的抽象數據類型 2.2線性表的順序存儲 2.2.1順序存儲的定義 2.2.2順序表基本操作分析 2.2.3順序表源碼實現 2.2.4順序表中的複雜操作 2.2.5Java基礎類庫中的順序表 2.3線性表的鏈式存儲 2.3.1鏈式存儲的基本概念 2.3.2單鏈表基本操作分析 2.3.3單鏈表源碼實現 2.3.4單鏈表中的複雜操作 2.3.5其他形式的鏈表 2.3.6Java基礎類庫中的鏈表 2.4順序表和鏈表的比較 2.5一元多項式的表示和運算 本章小結 習題2 第3章 棧和佇列 3.1棧的基本概念 3.1.1棧的相關定義 3.1.2棧的抽象數據類型 3.2棧的順序存儲 3.2.1棧的順序存儲定義 3.2.2順序棧基本操作分析 3.2.3順序棧源碼實現 3.2.4Java基礎類庫中的順序棧 3.3棧的鏈式存儲 3.3.1棧的鏈式存儲定義 3.3.2鏈棧源碼實現 3.4棧的應用舉例 3.4.1數制轉換 3.4.2運算式求值 3.5佇列的基本概念 3.5.1佇列的相關定義 3.5.2佇列的抽象數據類型 3.6佇列的鏈式存儲 3.6.1佇列的鏈式存儲定義 3.6.2鏈佇列基本操作分析 3.6.3鏈佇列源碼實現 3.7佇列的順序存儲 3.7.1佇列的順序存儲定義 3.7.2順序佇列基本操作分析 3.7.3迴圈順序佇列源碼實現 3.8Java基礎類庫中的佇列 3.9佇列的應用舉例 本章小結 習題3 第4章 串 4.1串的基本概念 4.1.1串的相關定義 4.1.2串的抽象數據類型 4.2串的順序存儲 4.2.1串的順序存儲定義 4.2.2順序串源碼實現 4.3Java語言中的順序串 4.4串的鏈式存儲 本章小結 習題4 第5章 數組、矩陣和廣義表 5.1數組 5.1.1數組的定義 5.1.2數組的存儲 5.2矩陣 5.2.1特殊矩陣的壓縮存儲 5.2.2疏鬆陣列的壓縮存儲 5.3廣義表 5.3.1廣義表的定義 5.3.2廣義表的抽象數據類型 5.3.3廣義表的存儲結構 5.3.4求廣義表深度基本操作的實現 5.3.5m元多項式的表示 本章小結 習題5 第6章 樹和二叉樹 6.1樹 6.1.1樹的定義 6.1.2樹的基本術語 6.1.3樹的表示形式 6.1.4樹的抽象數據類型 6.2二叉樹 6.2.1二叉樹的定義 6.2.2二叉樹的性質 6.2.3二叉樹的存儲結構 6.3二叉樹的遍歷和線索鏈表 6.3.1二叉樹的遍歷 6.3.2二叉線索鏈表 6.4樹和森林 6.4.1樹的存儲 6.4.2森林與二叉樹的轉換 6.4.3樹與森林的遍歷 6.5樹與等價問題 6.6哈夫曼樹及其應用 6.6.1哈夫曼樹 6.6.2哈夫曼樹的應用 6.7回溯法與樹的遍歷 6.8樹的計數 本章小結 習題6 第7章 圖 7.1圖的基本概念 7.1.1有向圖 7.1.2無向圖 7.1.3圖的抽象數據類型 7.2圖的存儲結構 7.2.1鄰接矩陣 7.2.2鄰接表 7.2.3鄰接多重表 7.2.4十字鏈表 7.3圖的遍歷 7.3.1深度優先遍歷 7.3.2廣度優先遍歷 7.4圖的連通性問題 7.4.1無向圖的連通分量和生成樹 7.4.2有向圖的強連通分量 7.4.3最小生成樹 7.4.4關節點和重連通分量 7.5有向無環圖及其應用 7.5.1拓撲排序 7.5.2關鍵路徑 7.6最短路徑 7.6.1從某個頂點到其餘各頂點的最短路徑 7.6.2每一對頂點之間的最短路徑 本章小結 習題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.3二叉排序樹的插入 8.3.4二叉排序樹的刪除 8.3.5二叉排序樹的查找分析 8.4平衡二叉樹 8.4.1平衡二叉樹的定義 8.4.2平衡化旋轉 8.4.3平衡二叉排序樹的插入 8.4.4平衡二叉排序樹構造示例 8.4.5平衡二叉排序樹查找分析 8.5索引查找 8.5.1順序索引表 8.5.2樹形索引表 8.6雜湊查找 8.6.1雜湊查找的基本概念 8.6.2雜湊函數的構造方法 8.6.3衝突處理的方法 8.6.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.4.3堆排序 9.5歸併排序 9.6基數排序 9.6.1多關鍵字排序 9.6.2鏈式基數排序 9.7各種內部排序的比較 本章小結 習題9 參考文獻
客服公告
热门活动
订阅电子报