數據結構與算法:C語言版第2版

數據結構與算法:C語言版第2版

《數據結構與算法:C語言版第2版》是2014年10月機械工業出版社出版的圖書,作者是徐鳳生。

基本介紹

  • 書名:數據結構與算法:C語言版第2版
  • 作者:徐鳳生
  • ISBN:9787111479406
  • 定價:35元
  • 出版社:機械工業出版社
  • 出版時間:2014年10月
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書共11章,一方面,涵蓋數據結構的基本概念,定義了線性表、棧、佇列、串、數組、廣義表、樹和二叉樹、圖、查找、排序等各種結構的抽象數據類型,給出了相應操作的實現算法,並在最後一章給出了幾個課程設計的實例。另一方面,採用C語言描述算法,並給出了各種算法的效率分析,以及這些結構在計算機科學及其他領域的套用。此外,每章後均配有典型例題、上機實驗和習題。本書中的所有算法都在VC++環境下調試通過。本書在內容安排上,突出由淺入深、循序漸進、通俗易懂的特點。算法分析透徹,講解清晰,便於學生自學。為了激發學生的學習興趣,培養學生解決實際問題的能力,書中融入了一些典型的套用實例,如命題公式真值表的求解算法、出棧序列的求解算法等。本書可作為高等院校計算機及相關專業本科生的“數據結構”課程教材,也可供相關科技人員學習參考。

圖書目錄

目錄
前言
教學建議
第1章緒論
1.1數據結構的研究對象
1.2數據結構的發展概況
1.3基本概念與術語
1.4數據類型與抽象數據類型
1.4.1數據類型
1.4.2抽象數據類型
1.4.3抽象數據類型的表示與實現
1.5算法與算法分析
1.5.1算法
1.5.2算法設計的原則
1.5.3算法效率的衡量方法和準則
1.5.4算法的存儲空間需求
1.6典型例題
1.7上機實驗
1.8小結
習題
第2章線性表
2.1線性表的定義
2.1.1線性表的概念
2.1.2線性表的抽象數據類型定義
2.2線性表的順序表示與實現
2.2.1線性表的順序表示
2.2.2線性表的順序實現
2.2.3順序表的套用舉例
2.3線性表的鏈式表示與實現
2.3.1單鍊表
2.3.2雙向鍊表
2.3.3循環鍊表
2.3.4靜態鍊表
2.3.5鍊表的套用舉例
2.4典型例題
2.5上機實驗
2.6小結
習題
第3章棧與佇列
3.1棧
3.1.1棧的抽象數據類型定義
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.3.4用遞歸求所有出棧序列
3.3.5遞歸的消除
3.4隊霸榆屑列
3.4.1佇列的抽象數據類型定義
3.4.2佇列的鏈式表示與實現
3.4.3佇列的順序表示與實現——循環佇列
3.4.4佇列的套用舉例
3.5典型例題
3.6上機實驗
3.7小結
習題
第4章串
4.1串的定義
4.2串的表示與實現
4.2.1串的順序存儲表示
4.2.2串的鏈式存儲表示
4.3串的模式請協匹配
4.3.1簡單匹配算法
4.3.2首尾匹配算法
4.3.3KMP算法
4.4典型例題
4.5上機實驗
4.6小結
習題
第5章數組與廣義表立阿寒詢
5.1數組的定義
5.2數組的順序存儲
5.3矩陣的壓縮存儲
5.3.1特殊矩陣
5.3.2稀疏矩陣
5.4廣義表
5.4.1廣義表的定義
5.4.2廣義表的存儲結構
5.5典型例題
5.6上機實驗
5.7小結
習題
第6章樹與二叉樹
6.1樹的定義
6.1.1樹的概念與術語
6.1.2樹的邏輯表示方法
6.1.3樹的抽象數據類型定義
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.4.3二叉樹遍歷的非遞歸算法
6.4.4層次遍歷算法
6.4.5遍歷算法的套用舉例
6.5二叉樹的構造
6.6線索二叉樹
6.6.1線索二叉樹的定義
6.6.2線索鍊表的建立
6.6.3線索鍊表的遍歷算法
6.7樹和森林的表示方法
6.7.1雙親表示法
6.7.2孩子鍊表表示法
6.7.3孩子-兄弟鍊表表示法
6.7.4樹、森林和二叉樹的對應關係
6.8樹和森林的遍歷
6.8.1樹腿危捆定的遍歷
6.8.2森林的遍歷
6.8.3樹遍歷算法的套用
6.9赫夫曼樹與赫夫曼編碼
6.9.1赫夫曼樹的定義
6.9.2赫夫曼樹的構造
6.9.3赫夫曼編碼
6.10典型例題
6.11上機實驗
6.12小結
習題
第7章圖
7.1圖的定義與術語
7.1.1圖的相關術語
7.1.2圖的抽象數據類型定義
7.2圖的存儲表示
7.2.1圖的鄰接矩陣存儲表示
7.2.2圖的鄰接表存儲表示
7.2.3有向圖的十字鍊表存儲表示
7.2.4無向圖的鄰接多重表存儲表示
7.3圖的遍歷
7.3.1深度優先搜尋遍歷圖
7.3.2廣度優先搜尋遍歷圖
7.3.3圖遍歷的套用舉例
7.4最小生成樹
7.4.1普里姆算法
7.4.2克魯斯卡爾算法
7.5兩點之間的最短路徑問題
7.5.1從某個源點到其餘各點的最短路徑
7.5.2每一對頂點之間的最短路徑
7.6拓撲排序
7.7關鍵路徑
7.8典型例題
7.9上機實驗
7.10小結
習題
第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.3.4B+樹
8.3.5鍵樹
8.4哈希表
8.4.1哈希表的概念
8.4.2哈希函式的構造方法
8.4.3處理衝突的方法
8.4.4哈希表的查找
8.4.5哈希表的插入操作
8.4.6哈希表的刪除操作
8.5典型例題
8.6上機實驗
8.7小結
習題
第9章排序
9.1概述
9.1.1什麼是排序
9.1.2內部排序和外部排序
9.1.3內部排序的方法
9.2插入排序
9.2.1直接插入排序
9.2.2折半插入排序
9.2.3二路插入排序
9.2.4表插入排序
9.2.5希爾排序
9.3交換排序
9.3.1起泡排序
9.3.2快速排序
9.4選擇排序
9.4.1簡單選擇排序
9.4.2堆排序
9.5歸併排序
9.6基數排序
9.6.1多關鍵字排序
9.6.2鏈式基數排序
9.7各種排序方法的綜合比較
9.8外排序簡介
9.8.1外存信息的存取
9.8.2外排序的基本方法
9.9典型例題
9.10上機實驗
9.11小結
習題
第10章檔案
10.1檔案的基本概念
10.1.1什麼是檔案
10.1.2檔案的邏輯結構及操作
10.1.3檔案的存儲結構
10.2順序檔案
10.3索引檔案
10.3.1ISAM檔案
10.3.2VSAM檔案
10.4哈希檔案
10.5多關鍵字檔案
10.5.1多重表檔案
10.5.2倒排檔案
10.5.3倒排檔案的套用
10.6典型例題
10.7上機實驗
10.8小結
習題
第11章課程設計舉例
11.1通訊錄管理
11.2停車場管理
11.3文本檔案的檢索
11.4導師制問題
11.5家譜管理
11.6教學計畫安排
參考文獻
3.4.2佇列的鏈式表示與實現
3.4.3佇列的順序表示與實現——循環佇列
3.4.4佇列的套用舉例
3.5典型例題
3.6上機實驗
3.7小結
習題
第4章串
4.1串的定義
4.2串的表示與實現
4.2.1串的順序存儲表示
4.2.2串的鏈式存儲表示
4.3串的模式匹配
4.3.1簡單匹配算法
4.3.2首尾匹配算法
4.3.3KMP算法
4.4典型例題
4.5上機實驗
4.6小結
習題
第5章數組與廣義表
5.1數組的定義
5.2數組的順序存儲
5.3矩陣的壓縮存儲
5.3.1特殊矩陣
5.3.2稀疏矩陣
5.4廣義表
5.4.1廣義表的定義
5.4.2廣義表的存儲結構
5.5典型例題
5.6上機實驗
5.7小結
習題
第6章樹與二叉樹
6.1樹的定義
6.1.1樹的概念與術語
6.1.2樹的邏輯表示方法
6.1.3樹的抽象數據類型定義
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.4.3二叉樹遍歷的非遞歸算法
6.4.4層次遍歷算法
6.4.5遍歷算法的套用舉例
6.5二叉樹的構造
6.6線索二叉樹
6.6.1線索二叉樹的定義
6.6.2線索鍊表的建立
6.6.3線索鍊表的遍歷算法
6.7樹和森林的表示方法
6.7.1雙親表示法
6.7.2孩子鍊表表示法
6.7.3孩子-兄弟鍊表表示法
6.7.4樹、森林和二叉樹的對應關係
6.8樹和森林的遍歷
6.8.1樹的遍歷
6.8.2森林的遍歷
6.8.3樹遍歷算法的套用
6.9赫夫曼樹與赫夫曼編碼
6.9.1赫夫曼樹的定義
6.9.2赫夫曼樹的構造
6.9.3赫夫曼編碼
6.10典型例題
6.11上機實驗
6.12小結
習題
第7章圖
7.1圖的定義與術語
7.1.1圖的相關術語
7.1.2圖的抽象數據類型定義
7.2圖的存儲表示
7.2.1圖的鄰接矩陣存儲表示
7.2.2圖的鄰接表存儲表示
7.2.3有向圖的十字鍊表存儲表示
7.2.4無向圖的鄰接多重表存儲表示
7.3圖的遍歷
7.3.1深度優先搜尋遍歷圖
7.3.2廣度優先搜尋遍歷圖
7.3.3圖遍歷的套用舉例
7.4最小生成樹
7.4.1普里姆算法
7.4.2克魯斯卡爾算法
7.5兩點之間的最短路徑問題
7.5.1從某個源點到其餘各點的最短路徑
7.5.2每一對頂點之間的最短路徑
7.6拓撲排序
7.7關鍵路徑
7.8典型例題
7.9上機實驗
7.10小結
習題
第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.3.4B+樹
8.3.5鍵樹
8.4哈希表
8.4.1哈希表的概念
8.4.2哈希函式的構造方法
8.4.3處理衝突的方法
8.4.4哈希表的查找
8.4.5哈希表的插入操作
8.4.6哈希表的刪除操作
8.5典型例題
8.6上機實驗
8.7小結
習題
第9章排序
9.1概述
9.1.1什麼是排序
9.1.2內部排序和外部排序
9.1.3內部排序的方法
9.2插入排序
9.2.1直接插入排序
9.2.2折半插入排序
9.2.3二路插入排序
9.2.4表插入排序
9.2.5希爾排序
9.3交換排序
9.3.1起泡排序
9.3.2快速排序
9.4選擇排序
9.4.1簡單選擇排序
9.4.2堆排序
9.5歸併排序
9.6基數排序
9.6.1多關鍵字排序
9.6.2鏈式基數排序
9.7各種排序方法的綜合比較
9.8外排序簡介
9.8.1外存信息的存取
9.8.2外排序的基本方法
9.9典型例題
9.10上機實驗
9.11小結
習題
第10章檔案
10.1檔案的基本概念
10.1.1什麼是檔案
10.1.2檔案的邏輯結構及操作
10.1.3檔案的存儲結構
10.2順序檔案
10.3索引檔案
10.3.1ISAM檔案
10.3.2VSAM檔案
10.4哈希檔案
10.5多關鍵字檔案
10.5.1多重表檔案
10.5.2倒排檔案
10.5.3倒排檔案的套用
10.6典型例題
10.7上機實驗
10.8小結
習題
第11章課程設計舉例
11.1通訊錄管理
11.2停車場管理
11.3文本檔案的檢索
11.4導師制問題
11.5家譜管理
11.6教學計畫安排
參考文獻

相關詞條

熱門詞條

聯絡我們