數據結構

周洪玉主編書籍

《數據結構》是2011年清華大學出版社出版的圖書,作者是周洪玉。

書籍信息


作者:周洪玉
定價:35元
印次:1-3
ISBN:9787302259459
出版日期:2011.08.01
印刷日期:2015.01.15

內容簡介


本書根據計算機科學與技術及相關專業的培養目標來編寫,突出實踐動手能力的培養,使基礎理論的教學以應用為目的。本書共分10章,第1章介紹數據結構基本概念;第2~4章主要介紹線性結構,分別是線性表、棧和隊列、串;第5~7章介紹非線性結構,即多維數組和廣義表、樹、圖;第8章和第9章介紹在數據處理中廣泛使用的技術——查找和排序;第10章介紹文件。本書大部分演演算法都給出了完整的C語言源程序,各章均附有習題及參考答案。本書可作為高等院校計算機科學與技術專業及相關專業的“數據結構”課程教材,也可作為計算機專業研究生入學考試、計算機認證考試用書,還可作為從事軟體應用開發人員的參考用書

圖書目錄


第1章緒論
1.1數據結構的基本概念和術語
1.1.1引言
1.1.2數據結構有關概念及術語
1.1.3數據結構和抽象數據類型
1.2演演算法描述與分析
1.2.1演演算法的定義
1.2.2演演算法描述工具——C語言
1.2.3演演算法分析技術初步
習題1
第2章線性表
2.1線性表的定義及其運算
2.1.1線性表的定義
2.1.2數據運算簡介
2.2線性表的順序存儲結構(向量)
2.2.1順序存儲結構
2.2.2向量中基本運算的實現
2.3線性表的鏈式存儲結構
2.3.1單鏈表與指針
2.3.2單鏈表的基本運算
2.4循環鏈表和雙向鏈表
2.4.1循環鏈表
2.4.2雙向鏈表
2.4.3順序存儲結構與鏈表存儲結構比較
2.5線性表的演演算法實現舉例
2.5.1實現線性表順序存儲結構及運算的C語言源程序
2.5.2單鏈表處理的C語言源程序
習題2
第3章棧和隊列
3.1棧
3.1.1棧的定義及運算
3.1.2棧的順序存儲結構(向量)
3.1.3棧的鏈式存儲結構
3.1.4棧的應用
3.2隊列
3.2.1隊列的定義
3.2.2隊列的順序存儲結構(向量)
3.2.3隊列的鏈式存儲結構
3.3棧和隊列的演演算法實現舉例
習題3
第4章串
4.1串的定義及其基本運算
4.1.1串的定義
4.1.2串的基本運算
4.2串的存儲結構
4.2.1串的順序存儲
4.2.2串的鏈式存儲
4.3串的模式匹配
4.3.1Brute-Force演演算法
4.3.2KMP演演算法
4.4串的模式匹配C語言程序實現舉例
4.4.1Brute-Force演演算法的實現
4.4.2KMP演演算法的實現
習題4
第5章數組和廣義表
5.1數組的基本概念
5.1.1數組的概念
5.1.2數組的順序表示和實現
5.1.3特殊矩陣的壓縮存儲
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.4.6廣義表的其他操作演演算法
習題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.2.4二叉樹的存儲結構
6.2.5二叉樹的基本操作及實現
6.3遍歷二叉樹
6.3.1先根(序)遍歷(DLR)
6.3.2中根(序)遍歷(LDR)
6.3.3后根(序)遍歷(LRD)
6.3.4層次遍歷
6.3.5二叉樹遍歷的非遞歸實現
6.3.6二叉樹由遍歷序列恢復二叉樹
6.3.7不用棧的二叉樹遍歷的非遞歸方法
6.4線索二叉樹
6.4.1線索二叉樹的基本概念
6.4.2線索二叉樹的邏輯表示圖
6.4.3線索二叉樹的基本操作實現
6.4.4二叉樹遍歷的應用
6.5二叉樹、樹和森林
6.5.1樹的存儲結構
6.5.2樹與二叉樹之間的轉換
6.5.3森林與二叉樹之間的轉換
6.6樹的應用
6.6.1哈夫曼樹的基本概念
6.6.2哈夫曼樹的構造演演算法
6.6.3哈夫曼樹在編碼問題中的應用
6.6.4哈夫曼樹在判定問題中的應用
6.6.5二叉排序樹
6.7二叉樹的建立和遍歷C語言源程序示例
習題6
第7章圖
7.1圖的基本概念
7.1.1圖的定義
7.1.2圖的基本術語
7.2圖的存儲結構
7.2.1鄰接矩陣
7.2.2鄰接表
7.3圖的遍歷
7.3.1深度優先搜索
7.3.2廣度優先搜索
7.3.3求圖的連通分量
7.4圖的生成樹
7.4.1生成樹的概念
7.4.2最小生成樹
7.4.3普里姆演演算法和克魯斯卡爾演演算法
7.5圖的應用
7.5.1拓撲排序
7.5.2關鍵路徑
7.5.3最短路徑
7.6圖的演演算法C語言程序實現舉例
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.3B-樹
8.4哈希表
8.4.1哈希表與哈希函數
8.4.2構造哈希函數的常用方法
8.4.3哈希衝突的解決方法
8.4.4哈希表的查找及其分析
8.4.5哈希表演演算法實現C語言源程序
習題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.5歸併排序
9.6基數排序
9.7各種內部排序方法的比較討論
9.8有關排序演演算法的C語言源程序
9.9外排序
習題9
第10章文件
10.1文件的基本概念
10.1.1文件的相關概念
10.1.2記錄的物理結構和邏輯結構
10.1.3文件的分類