出版時間:2011-8 出版社:清華大學出版社 作者:周洪玉,邵晶波 主編 頁數(shù):358
內容概要
由周洪玉編著的《數(shù)據(jù)結構》根據(jù)計算機科學與技術及相關專業(yè)的培養(yǎng)目標來編寫,突出實踐動手能力的培養(yǎng),使基礎理論的教學以應用為目的。
《數(shù)據(jù)結構》共分10章,第1章介紹數(shù)據(jù)結構基本概念;第2~4章主要介紹線性結構,分別是線性表、棧和隊列、串;第5~7章介紹非線性結構,即多維數(shù)組和廣義表、樹、圖;第8章和第9章介紹在數(shù)據(jù)處理中廣泛使用的技術
——查找和排序;第10章介紹文件?!稊?shù)據(jù)結構》大部分算法都給出了完整的c語言源程序,各章均附有習題及參考答案。
《數(shù)據(jù)結構》可作為高等院校計算機科學與技術專業(yè)及相關專業(yè)的“數(shù)據(jù)結構”課程教材,也可作為計算機專業(yè)研究生入學考試、計算機認證考試用書,還可作為從事軟件應用開發(fā)人員的參考用書。
書籍目錄
第1章 緒論
1.1 數(shù)據(jù)結構的基本概念和術語
1.1.1 引言
1.1.2 數(shù)據(jù)結構有關概念及術語
1.1.3 數(shù)據(jù)結構和抽象數(shù)據(jù)類型
1.2 算法描述與分析
1.2.1 算法的定義
1.2.2 算法描述工具——c語言
1.2.3 算法分析技術初步
習題1
第2章 線性表
2.1 線性表的定義及其運算
2.1.1 線性表的定義
2.1.2 數(shù)據(jù)運算簡介
2.2 線性表的順序存儲結構(向量)
2.2.1 順序存儲結構
2.2.2 向量中基本運算的實現(xiàn)
2.3 線性表的鏈式存儲結構
2.3.1 單鏈表與指針
2.3.2 單鏈表的基本運算
2.4 循環(huán)鏈表和雙向鏈表
2.4.1 循環(huán)鏈表
2.4.2 雙向鏈表
2.4.3 順序存儲結構與鏈表存儲結構比較
2.5 線性表的算法實現(xiàn)舉例
2.5.1 實現(xiàn)線性表順序存儲結構及運算的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 棧和隊列的算法實現(xiàn)舉例
習題3
第4章 串
4.1 串的定義及其基本運算
4.1.1 串的定義
4.1.2 串的基本運算
4.2 串的存儲結構
4.2.1 串的順序存儲
4.2.2 串的鏈式存儲
4.3 串的模式匹配
4.3.1 brute-force算法
4.3.2 kmp算法
4.4 串的模式匹配c語言程序實現(xiàn)舉例
4.4.1 brute-force算法的實現(xiàn)
4.4.2 kmp算法的實現(xiàn)
習題4
第5章 數(shù)組和廣義表
5.1 數(shù)組的基本概念
5.1.1 數(shù)組的概念
5.1.2 數(shù)組的/頃序表示和實現(xiàn)
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 二叉樹的基本操作及實現(xiàn)
6.3 遍歷二叉樹
6.3.1 先根(序)遍歷(dlr)
6.3.2 中根(序)遍歷(ldr)
6.3.3 后根(序)遍歷(lrd)
6.3.4 層次遍歷
6.3.5 二叉樹遍歷的非遞歸實現(xiàn)
6.3.6 二叉樹由遍歷序列恢復二叉樹
6.3.7 不用棧的二叉樹遍歷的非遞歸方法
6.4 線索二叉樹
6.4.1 線索二叉樹的基本概念
6.4.2 線索二叉樹的邏輯表示圖
6.4.3 線索二叉樹的基本操作實現(xiàn)
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 深度優(yōu)先搜索
7.3.2 廣度優(yōu)先搜索
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語言程序實現(xiàn)舉例
7.6.1 無向圖的鄰接表的建立和遍歷
7.6.2 有向無環(huán)圖的拓撲排序和求關鍵路徑
習題7
第8章 查找
8.1 基本概念
8.2 靜態(tài)表查找
8.2.1 順序表的查找
8.2.2 有序表的查找
8.3 索引順序表的查找
8.3 動態(tài)查找表
8.3.1 二叉排序樹
8.3.2 平衡二叉樹
8.3.3 b-樹
8.4 哈希表
8.4.1 哈希表與哈希函數(shù)
8.4.2 構造哈希函數(shù)的常用方法
8.4.3 哈希沖突的解決方法
8.4.4 哈希表的查找及其分析
8.4.5 哈希表算法實現(xiàn)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 基數(shù)排序
9.7 各種內部排序方法的比較討論
9.8 有關排序算法的c語言源程序
9.9 外排序
習題9
第10章 文件
10.1 文件的基本概念
10.1.1 文件的相關概念
10.1.2 記錄的物理結構和邏輯結構
10.1.3 文件的分類
10.1.4 文件的運算
10.1.5 文件的物理結構
10.2 文件的常見組織形式
10.2.1 順序文件
10.2.2 索引文件
10.2.3 索引順序文件
10.2.4 散列文件
10.2.5 多重表文件和倒排文件
習題10
習題答案
習題1答案
習題2答案
習題3答案
習題4答案
習題5答案
習題6答案
習題7答案
習題8答案
習題9答案
習題10答案
附錄a 抽象數(shù)據(jù)類型定義
參考文獻
編輯推薦
叢書特色 編寫模式和思路采取面向任務、面向目標,先提出問題,然后指出解決問題的方法和所需要知識的項目驅動式指導思想。 突出實踐與實用性。培養(yǎng)學生動手能力。掌握最新技術,適應社會需求。根據(jù)計算機技術的發(fā)展和應用,加重了項目實訓的內容?! 娬{理論與實踐相結合,既注重基本原理、基本概念的介紹,又注重基本操作、基本能力的培養(yǎng)。 突出重點、突出有用。然后由此及彼。由表及里,由淺入深。 先感性。后理性;先實踐,后理論;先認識。后提高;先掌握基本應用。然后做理論講解、擴展與延伸。最后落實到具體操作,指導學生動手設計,用實踐檢驗對知識的掌握程度?! ∨鋫淞曨}。提供試題。聯(lián)系實際,提高能力。
圖書封面
評論、評分、閱讀與下載