數據結構——用C語言描述

數據結構——用C語言描述

《數據結構——用C語言描述》是由耿國華主編,2011年由高等教育出版社出版的普通高等教育“十一五”國家級規劃教材,。該教材既可作為高等學校計算機及相關專業數據結構課程的教材,也可供從事計算機套用開發的工程技術人員參考使用。

該教材共分10章,內容包括基本概念、基本結構和基本技術三大部分。

基本介紹

  • 書名:數據結構——用C語言描述
  • 作者:耿國華
  • ISBN:978-7-04-032485-3
  • 類別:普通高等教育“十一五”國家級規劃教材,
  • 頁數:382頁
  • 出版社:高等教育出版社
  • 出版時間:2011年11月25日
  • 裝幀:平裝
  • 開本:16開
  • 版面字數:550千字
成書過程,內容簡介,教材目錄,教學資源,教材特色,作者簡介,

成書過程

《數據結構——用C語言描述》根據教育部計算機科學與技術教學指導委員會制定的“數據結構與算法”課程大綱和《全國碩士研究生入學統一考試計算機專業基礎綜合考試大綱》的要求而編寫。
該教材由耿國華任主編。編寫分工如下:第1章、6章、7章、9章及附錄由耿國華編寫;第5章、8章及實驗指導由張德同編寫;第3章、10章由周明全編寫;第4章由馮宏偉編寫;第2章由盧燕寧編寫。全書由耿國華統稿,增補工作主要由耿國華、張德同、劉曉寧完成。李康老師負責教學網站建設,多名研究生參加算法調試與動畫多媒體課件製作。
2011年11月25日,該教材由高等教育出版社出版。

內容簡介

《數據結構——用C語言描述》內容共分10章,包括三大部分,其中第一部分(第1 章)是數據結構的基本概念部分;、;第二部分(第2 ~7章)是基本的數據結構部分,包括線性結構(線性表、棧與佇列、串、數組與廣義表)與非線性結構(樹、圖);第三部分(第8~10章)是基本技術部分,包括查找方法與排序方法。書中還貫穿了一些重要的程式設計技術,如參數傳遞技術、動態處理的指針技術、數組技術(抽象規律處理)、 遞歸技術與佇列技術。每章均附有小結與典型題例,並配有例題、習題與實習題。

教材目錄

第1章 緒論
1.1 數據結構的基礎概念
1.2 數據結構的內容
1.3 算法
1.4 算法描述
1.5 算法性能評價
1.5.1 算法的時間性能分析
1.5.2 算法的空間性能分析
1.5.3 算法性能選擇
1.6 數據結構與C語言表示
1.6.1 數據結構與程式設計的關聯性
1.6.2 結構化程式設計與函式的模組化
1.6.3 面向對象與抽象數據類型
1.6.4 算法描述規範與設計風格
1.7 關於學習數據結構
1.8 總結與提高
習題
實習題
第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.3.3 循環鍊表
2.3.4 雙向鍊表
*2.3.5 靜態鍊表
2.4 線性表套用———一元多項式的表示及相加
2.5 順序表與鍊表的綜合比較
2.5.1 順序表和鍊表的比較
2.5.2 線性表鏈式存儲方式的比較
2.6 總結與提高
2.6.1 主要知識點
2.6.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.3.1 主要知識點
3.3.2 典型題例
習題
實習題
第4章 串
4.1 串的基本概念
4.2 串的存儲實現
4.2.1 定長順序串
4.2.2 堆串
4.2.3 塊鏈串
4.3 串的套用舉例:簡單的行編輯器
4.4 總結與提高
4.4.1 主要知識點
4.4.2 典型題例
習題
實習題
第5章 數組與廣義表
5.1 數組的定義與運算
5.2 數組的順序存儲與實現
5.3 特殊矩陣的壓縮存儲
5.3.1 規律分布的特殊矩陣
5.3.2 稀疏矩陣
5.4 廣義表
5.4.1 廣義表的概念
5.4.2 廣義表的存儲結構
5.4.3 廣義表的操作實現
5.5 總結與提高
5.5.1 主要知識點
5.5.2 典型題例
習題
實習題
第6章 樹與二叉樹
6.1 樹的定義與基本術語
6.2 二叉樹
6.2.1 二叉樹的定義與基本操作
6.2.2 二叉樹的性質
6.2.3 二叉樹的存儲結構
6.3 二叉樹的遍歷與線索化
6.3.1 二叉樹的遍歷
6.3.2 遍歷算法套用
6.3.3 基於棧的遞歸消除
6.3.4 線索二叉樹
6.3.5 由遍歷序列確定二叉樹
6.4 樹、森林和二叉樹的關係
6.4.1 樹的存儲結構
6.4.2 樹、森林與二叉樹的相互轉換
6.4.3 樹與森林的遍歷
6.5 哈夫曼樹及其套用
6.5.1 哈夫曼樹
6.5.2 哈夫曼編碼
6.6 並查集與等價類劃分
6.7 總結與提高
6.7.1 主要知識點
6.7.2 典型題例
習題
實習題
第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.4 圖的套用
7.4.1 圖的連通性問題
7.4.2 有向無環圖的套用
7.4.3 最短路徑問題
7.5 總結與提高
7.5.1 主要知識點
7.5.2 典型題例
習題
實習題
第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 B樹
8.4 計算式查找法———哈希法
8.4.1 哈希函式的構造方法
8.4.2 處理衝突的方法
8.4.3 哈希表的查找過程
8.4.4 哈希法性能分析
8.5 總結與提高
8.5.1 主要知識點
8.5.2 典型題例
習題
實習題
第9章 內部排序
9.1 排序的基本概念
9.2 插入類排序
9.2.1 直接插入排序
9.2.2 折半插入排序
9.2.3 希爾排序
9.2.4 小結
9.3 交換類排序法
9.3.1 冒泡排序
9.3.2 快速排序
9.3.3 小結
9.4 選擇類排序法
9.4.1 簡單選擇排序
9.4.2 樹形選擇排序
9.4.3 堆排序
9.4.4 小結
9.5 歸併排序
9.6 分配類排序
9.6.1 多關鍵字排序
9.6.2 鏈式基數排序
9.6.3 基數排序的順序表實現
9.7 各種排序方法的綜合比較
9.8 總結與提高
9.8.1 主要知識點
9.8.2 典型題例
習題
實習題
第10章 外部排序
10.1 外排序的基本方法
10.1.1 磁碟排序
10.1.2 磁帶排序
10.2 總結與提高
習題
附錄一 學期樣卷
學期樣卷一
學期樣卷二
學期樣卷三
附錄二 碩士研究生入學考試樣題
2011年全國碩士研究生入學統一考試數據結構試題
2010年全國碩士研究生入學統一考試數據結構試題
2009年全國碩士研究生入學統一考試數據結構試題
工程碩士學位研究生模擬試題
附錄三 光碟目錄
參考文獻
(註:目錄排版順序為從左列至右列

教學資源

課程資源
《數據結構——用C語言描述》配有配套光碟教學資源,包括部分擴展內容、課程設計與課程實習指導、多媒體教學課件、算法源碼等。

教材特色

《數據結構——用C語言描述》以抽象數據類型為中心採用面向對象的新觀點,將教學內容分為基本概念、基本結構、基本技術三個層次,貫穿了計算機科學中的一些問題求解技術,符合認知規律。每章均附有總結與典型題例,形成梯度。與前版教材相比,增大了習題與實習題的比例,對綜合性強實習加入部分提示。
1、在概念部分,增強對抽象概念的理解,示例說明數據結構的重要性,突出算法性能評價和問題規模、算法複雜度分析的範例,針對同一個問題給出兩個複雜度不同的算法,便於理解算法複雜度的概念和算法複雜度分析的方法。
2、在結構部分,為便於理解套用抽象數據類型結構,建立完整的結構體系,在學完第2章上機實驗前可參閱光碟中的“C語言實現算法模板示例”部分內容,便於引用已有定義類型檔案嵌入相關函式,實現抽象數據類型重用。同時,緊扣考研大綱要求,增補了並查集與等價類劃分的內容。
3、在基本技術部分,突出技術的最佳化處理技術,增加數據結構典型技術的新套用,引入B樹動態索引技術套用示例,給出了對每類排序方法小結。

作者簡介

耿國華,女,教授,博士生導師,西北大學信息科學與技術學院副院長。兼任教育部文科高等學校文科計算機基礎教學指導委員會副主任,西北大學計算機軟體開發中心主任,主要研究方向為智慧型信息系統開發,資料庫系統的教學與研究。

相關詞條

熱門詞條

聯絡我們