數據結構:用C語言描述(第2版) [Data Structure in C (Second Edition)] pdf epub mobi txt 電子書 下載 2024
內容簡介
《數據結構:用C語言描述(第2版)》根據教育部計算機類專業教學指導委員會製定的“數據結構與算法”課程大綱和《全國碩士研究生入學統一考試計算機專業基礎綜閤考試大綱》的要求而編寫,跟蹤技術發展需要,教材體係科學,內容簡潔實用。
《數據結構:用C語言描述(第2版)》共10章。內容包括基本概念、基本結構(綫性錶、棧與隊列、串、數組與廣義錶、樹、圖)和基本技術(查找方法與排序方法)三大部分,每章均附有小結與典型題例,並配有大量的例題、習題與實習題,連貫性強。與該書配套的教學資源豐富,按章節知識樹的結構構成,包括教學視頻、部分擴展內容、課程設計與課程實習指導、多媒體教學課件、算法源碼等,適閤網絡學習使用。
《數據結構:用C語言描述(第2版)》既可作為高等學校計算機及相關專業數據結構課程的教材,也可供從事計算機應用開發的工程技術人員參考使用。
作者簡介
耿國華,教授,國傢教學名師,西北大學信息學院副院長,教育部高等學校大學計算機課程教學指導委員會委員,陝西省計算機學會副理事長,陝西省人工智能與模式識彆專業委員會副主任。
主持獲得國傢教學成果奬2項,主持2門國傢精品資源共享課程,主編齣版的多部教材被列入“十二五”“十一五”國傢級規劃教材,並獲教育部精品教材奬。帶領的計算機專業基礎核心課程教學隊伍於2008年被評為國傢教學團隊。
內頁插圖
目錄
第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 總結與提高
習題
參考文獻
前言/序言
IEEE-CS/ACM的CS教程已將算法與數據結構課程列為核心課程之首,數據結構愈顯齣其在信息學科中的重要地位。作為重要的計算機類專業學科基礎課,數據結構課程一般開設在大學二年級,應對前兩年學習的軟件技術進行總結提高,為後續專業課程提供基礎。作為計算機科學與技術人纔素質培養框架中的中堅課程,它承上啓下,貫通始終,是計算機科學與技術人纔素質框架中的脊梁,其學習過程體現著創造性思維的信息素質培養過程,對學生的軟件開發能力培養至關重要。
本書是“十二五”普通高等教育本科國傢級規劃教材,根據教育部高等學校計算機類專業教學指導委員會製定的《高等學校計算機科學與技術專業核心課程教學實施方案》和《全國碩士計算機專業綜閤考試大綱》要求編寫而成。本書是在作者編寫的《數據結構》(2011年由高等教育齣版社齣版)教材基礎上的更新與提升,緊密跟進學科和技術發展,融入瞭我們建設國傢精品資源共享課的成果。
本書以抽象數據類型為中心,采用麵嚮對象的新觀點,將教學內容分為基本概念、基本結構、基本技術三個層次,貫穿瞭計算機科學中的一些重要的問題求解技術,符閤認知規律;使用標準C作為算法描述的語言,使之與目前大多數院校講授的第一語言銜接,便於將讀者的注意力集中在算法的理解上。書中給齣瞭大量的C函數錶示算法,體現數據抽象與過程抽象的結閤,突齣瞭算法錶示的實質。
本書共10章,可分為三部分。其中,第一部分(第1章)介紹數據結構的基本概念;第二部分(2~7章)介紹基本的數據結構,包括綫性結構(綫性錶、棧和隊列、串、數組與廣義錶)與非綫性結構(樹、圖);第三部分(8~10章)介紹基本技術,包括查找方法與排序方法。書中貫穿瞭重要的程序設計技術,如參數傳遞技術、動態處理的指針技術、數組技術(抽象規律處理)和遞歸技術與隊列技術。書中給齣的許多精彩典型算法是人們在數據處理中智慧的結晶,我們力求將經典算法的思路錶現齣來,為學習者繼續拓展提供綫索。內容特色:
·在基本概念部分,為增強對抽象概念的理解,舉例說明瞭數據結構的重要性,增加瞭算法性能評價和問題規模、算法復雜度分析的範例,針對同一個問題給齣瞭兩個復雜度不同的算法,便於直觀地理解算法復雜度的概念和算法復雜度分析的方法。
·在數據結構部分,為方便讀者理解與應用抽象數據類型結構,建立完整的結構體係,我們提供瞭“C語言實現算法模闆示例”。讀者可在上機實驗前參閱數字課程網站上的相關資源,引用已定義的類型文件嵌入相關函數,實現抽象數據類型重用,從而掌握算法實現的方法。同時,為緊扣考研大綱要求,我們增補瞭並查集與等價類劃分相關內容。
·在基本技術部分,突齣瞭典型技術的優化處理技術,增加瞭數據結構典型技術的新應用,引入瞭B樹動態索引技術應用示例,以便讀者理解構建目前使用的查找索引數據結構。為引導學習者注重掌握排序思想與改進思路,加入對每類排序方法的小結。
·全書各章均有總結與典型題例,形成梯度,便於引導提高。與前版教材相比,增大瞭習題與實習題的比例,對綜閤性強的實習加入部分提示與指導,注重引導能力的培養。資源特色:
鑒於數據結構課程的技術性特點,同時為適應翻轉課堂的教學需求,以及移動學習的環境變化,我們充實瞭與教材配套的數字課程資源,通過課程教學視頻和課程資源網站,提供師生之間的課程教學資源與交流平颱。
針對教材各章難點及重點提供瞭課程教學視頻,可通過在數字課程網站按章節選播或手機掃描二維碼的方式進行在綫學習。
配套數字課程網站含有豐富的教學資源,包括多媒體教學課件與電子教案、算法實現和課程設計與實習範例、選學內容、試捲及解析等內容。其他教學資源可參考國傢精品資源共享課網站。
本書同時也是國傢精品課、國傢精品資源共享課及MOOC課程“數據結構”的配套主講教材。
本書由耿國華主編,第l章、第6章、第7章、第9章由耿國華編寫,第5章、第8章由張德同編寫,第3章、第10章由周明全編寫,第2章由盧燕寜編寫,第4章由劉曉寜編寫,全書由耿國華統稿。劉曉寜、李康老師負責數字課程資源建設,多名研究生參加瞭算法調試與動畫多媒體課件製作。
本書前版教材已應用於多所學校的電子、數學、自動化、通信、計算機等專業的教學過程,在這裏衷心感謝廣大讀者對我們的厚愛與信任。真誠期待大傢在使用本教材的過程中提齣意見和建議,使之在教學過程中逐步改進完善,更好地服務於教學。
數據結構:用C語言描述(第2版) [Data Structure in C (Second Edition)] 下載 mobi epub pdf txt 電子書
數據結構:用C語言描述(第2版) [Data Structure in C (Second Edition)] pdf epub mobi txt 電子書 下載