本書首先介紹了數據結構的概念及其邏輯結構、存儲結構及運算3方面內容涉及的基本概念,然后針對經典的數據結構(即線性表、棧、隊列、多維數組、廣義表、樹和圖)的邏輯特征、常用的存儲方式及各種基本運算的實現算法作了詳細闡述,最后討論了兩種典型運算——排序和查找的各種實現方法。全書采用c語言作為數據結構和算法的描述工具。在一些重點部分,還給出了簡單應用舉例的完整c語言程序。
本書結構清晰、層次分明、深入淺出、通俗易懂、適用面廣,可以作為普通高等院校計算機和信息類本科或專科教材,也可以作為其他理工類專業的選修課教材。
目錄
第1章 緒論
1.1 數據結構的概念和基本術語
1.1.1 數據結構簡介
1.1.2 基本術語
1.1.3 順序存儲結構
1.1.4 鏈式存儲結構
1.2 算法及評價
1.2.1 算法的概念及特性
1.2.2 算法描述
1.2.3 算法評價
1.3 學習「數據結構」課程的意義
1.4 小結
1.5 習題
第2章 線性表
2.1 線性表的定義與基本運算
2.2 線性表的順序存儲結構與實現
2.2.1 順序表的初始化
2.2.2 按值查找
2.2.3 插入
2.2.4 刪除
2.3 線性表的鏈式存儲結構與實現
2.3.1 單鏈表
2.3.2 靜態單鏈表
2.3.3 循環鏈表
2.3.4 雙向鏈表
2.4 一元多項式的表示和運算
2.5 小結
2.5.1 主要知識點
2.5.2 習題類型
2.6 習題
第3章 特殊線性表
3.1 棧
3.1.1 棧的定義及其抽象數據類型
3.1.2 棧的順序存儲和運算實現
3.1.3 棧的鏈式存儲和運算實現
3.2 棧的應用
3.3 隊列
3.3.1 隊列的定義及其抽象數據類型
3.3.2 隊列的順序存儲和運算實現
3.3.3 隊列的鏈式存儲和運算實現
3.4 隊列的應用
3.5 小結
3.5.1 主要知識點
3.5.2 習題類型
3.6 練習題
3.7 上機實驗題
第4章 數組、廣義表及字符串
4.1 數組的定義
4.2 數組的順序存儲結構
4.3 特殊矩陣及其壓縮存儲
4.3.1 特殊矩陣
4.3.2 壓縮存儲
4.4 稀疏矩陣的壓縮存儲
4.4.1 稀疏矩陣的三元組順序表
4.4.2 稀疏矩陣的轉置運算
4.4.3 稀疏矩陣的十字鏈表存儲
4.5 廣義表
4.5.1 基本概念
4.5.2 廣義表的基本運算
4.5.3 廣義表的頭尾存儲法
4.5.4 廣義表基本操作的實現
4.6 串的基本概念
4.7 串的存儲結構
4.7.1 串的順序存儲結構
4.7.2 串的鏈式存儲結構
4.8 小結
4.9 習題
4.10 上機實驗題
第5章 樹與二叉樹
5.1 樹
5.1.1 樹的定義
5.1.2 樹的基本術語
5.1.3 樹的表示
5.1.4 樹的抽象數據類型
5.2 二叉樹
5.2.1 二叉樹的定義
5.2.2 二叉樹的抽象數據類型
5.2.3 二叉樹的性質
5.2.4 二叉樹的存儲結構
5.2.5 二叉樹的實現
5.3 二叉樹的遍歷
5.3.1 二叉樹遍歷的遞歸實現
5.3.2 二叉樹遍歷的非遞歸實現
5.4 線索二叉樹
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.6.3 哈夫曼編碼
5.7 小結
5.7.1 主要知識點
5.7.2 習題類型
5.8 習題
5.9 上機實驗題
第6章 圖
6.1 圖的概述
6.1.1 圖的基本概念
6.1.2 圖的抽象數據類型
6.2 圖的存儲結構
6.2.1 圖的鄰接矩陣存儲結構
6.2.2 圖的鄰接表存儲結構
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.5.3 克魯斯卡爾算法
6.6 最短路徑
6.6.1 最短路徑的基本概念
6.6.2 從一個結點到其余各結點的最短路徑
6.6.3 每對結點之間的最短路徑
6.7 有向無環圖及其應用
6.7.1 拓撲排序
6.7.2 關鍵路徑
6.8 小結
6.8.1 主要知識點
6.8.2 習題類型
6.9 習題
第7章 查找
7.1 基本概念
7.2 靜態查找表
7.2.1 順序表上的查找
7.2.2 有序表上的查找
7.2.3 索引順序表上的查找
7.3 動態查找表
7.3.1 二叉排序樹
7.3.2 平衡二叉排序樹
7.3.3 b-樹
7.4 散列表
7.4.1 散列表的概念
7.4.2 散列函數的構造方法
7.4.3 處理沖突的方法
7.4.4 散列表的查找
7.4.5 散列表的性能分析
7.5 小結
7.5.1 主要知識點
7.5.2 習題類型
7.6 習題
7.7 上機實驗題
第8章 排序
8.1 排序的基本概念
8.2 簡單的排序方法
8.2.1 直接選擇排序
8.2.2 直接插入排序
8.2.3 冒泡排序
8.3 快速排序
8.4 堆排序
8.5 歸並排序
8.6 基數排序
8.7 各種內部排序方法的比較與討論
8.8 小結
8.8.1 主要知識點
8.8.2 習題類型
8.9 習題
8.10 上機實驗題
參考文獻
1.1 數據結構的概念和基本術語
1.1.1 數據結構簡介
1.1.2 基本術語
1.1.3 順序存儲結構
1.1.4 鏈式存儲結構
1.2 算法及評價
1.2.1 算法的概念及特性
1.2.2 算法描述
1.2.3 算法評價
1.3 學習「數據結構」課程的意義
1.4 小結
1.5 習題
第2章 線性表
2.1 線性表的定義與基本運算
2.2 線性表的順序存儲結構與實現
2.2.1 順序表的初始化
2.2.2 按值查找
2.2.3 插入
2.2.4 刪除
2.3 線性表的鏈式存儲結構與實現
2.3.1 單鏈表
2.3.2 靜態單鏈表
2.3.3 循環鏈表
2.3.4 雙向鏈表
2.4 一元多項式的表示和運算
2.5 小結
2.5.1 主要知識點
2.5.2 習題類型
2.6 習題
第3章 特殊線性表
3.1 棧
3.1.1 棧的定義及其抽象數據類型
3.1.2 棧的順序存儲和運算實現
3.1.3 棧的鏈式存儲和運算實現
3.2 棧的應用
3.3 隊列
3.3.1 隊列的定義及其抽象數據類型
3.3.2 隊列的順序存儲和運算實現
3.3.3 隊列的鏈式存儲和運算實現
3.4 隊列的應用
3.5 小結
3.5.1 主要知識點
3.5.2 習題類型
3.6 練習題
3.7 上機實驗題
第4章 數組、廣義表及字符串
4.1 數組的定義
4.2 數組的順序存儲結構
4.3 特殊矩陣及其壓縮存儲
4.3.1 特殊矩陣
4.3.2 壓縮存儲
4.4 稀疏矩陣的壓縮存儲
4.4.1 稀疏矩陣的三元組順序表
4.4.2 稀疏矩陣的轉置運算
4.4.3 稀疏矩陣的十字鏈表存儲
4.5 廣義表
4.5.1 基本概念
4.5.2 廣義表的基本運算
4.5.3 廣義表的頭尾存儲法
4.5.4 廣義表基本操作的實現
4.6 串的基本概念
4.7 串的存儲結構
4.7.1 串的順序存儲結構
4.7.2 串的鏈式存儲結構
4.8 小結
4.9 習題
4.10 上機實驗題
第5章 樹與二叉樹
5.1 樹
5.1.1 樹的定義
5.1.2 樹的基本術語
5.1.3 樹的表示
5.1.4 樹的抽象數據類型
5.2 二叉樹
5.2.1 二叉樹的定義
5.2.2 二叉樹的抽象數據類型
5.2.3 二叉樹的性質
5.2.4 二叉樹的存儲結構
5.2.5 二叉樹的實現
5.3 二叉樹的遍歷
5.3.1 二叉樹遍歷的遞歸實現
5.3.2 二叉樹遍歷的非遞歸實現
5.4 線索二叉樹
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.6.3 哈夫曼編碼
5.7 小結
5.7.1 主要知識點
5.7.2 習題類型
5.8 習題
5.9 上機實驗題
第6章 圖
6.1 圖的概述
6.1.1 圖的基本概念
6.1.2 圖的抽象數據類型
6.2 圖的存儲結構
6.2.1 圖的鄰接矩陣存儲結構
6.2.2 圖的鄰接表存儲結構
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.5.3 克魯斯卡爾算法
6.6 最短路徑
6.6.1 最短路徑的基本概念
6.6.2 從一個結點到其余各結點的最短路徑
6.6.3 每對結點之間的最短路徑
6.7 有向無環圖及其應用
6.7.1 拓撲排序
6.7.2 關鍵路徑
6.8 小結
6.8.1 主要知識點
6.8.2 習題類型
6.9 習題
第7章 查找
7.1 基本概念
7.2 靜態查找表
7.2.1 順序表上的查找
7.2.2 有序表上的查找
7.2.3 索引順序表上的查找
7.3 動態查找表
7.3.1 二叉排序樹
7.3.2 平衡二叉排序樹
7.3.3 b-樹
7.4 散列表
7.4.1 散列表的概念
7.4.2 散列函數的構造方法
7.4.3 處理沖突的方法
7.4.4 散列表的查找
7.4.5 散列表的性能分析
7.5 小結
7.5.1 主要知識點
7.5.2 習題類型
7.6 習題
7.7 上機實驗題
第8章 排序
8.1 排序的基本概念
8.2 簡單的排序方法
8.2.1 直接選擇排序
8.2.2 直接插入排序
8.2.3 冒泡排序
8.3 快速排序
8.4 堆排序
8.5 歸並排序
8.6 基數排序
8.7 各種內部排序方法的比較與討論
8.8 小結
8.8.1 主要知識點
8.8.2 習題類型
8.9 習題
8.10 上機實驗題
參考文獻
網路書店
類別
折扣
價格
-
新書87折$156