內容提要
本書共分10章,內容包括基本概念、基本結構(線性表、棧和佇列、串、數組與廣義表、樹、圖)和基本技術(查找方法與排序方法)三大部分,其中貫穿了程式設計中參數傳遞技術、動態處理的指針技術、數組技術、遞歸技術與佇列
等技術。書中給出了許多經典算法,每章均附有小結與典型題例,便於總結提高。附錄給出了2套學期考題樣卷和4套碩士研究生入學考試的樣卷,便於讀者模擬練習和考研參考。本書集作者多年教學實踐經驗,採用面向對象的方法講述數據結構技術,用標準C描述算法,內容豐富,概念清楚,技術實用。課程教學資源豐富是本書的特色,配套光碟包括部分擴展內容、課程設計與課程實習指導、多媒體教學課件、算法程式示例和算祛轉換為程式的模板,本書的PPT電子教案可從高等教育出版社高等理工教學資源網免費下載,更多資源請瀏覽陝西省精品課程網站和西北大學精品課程網站。
本書可作為高等學校計算機及相關專業數據結構課程的教材,也可供從事計算機套用開發的工程技術人員參考使用。
圖書目錄
第1章 緒論
1.1 數據結構的基礎概念
1.2 數據結構的內容
1.3 算法設計
1.4 算法描述工具
1.5 對算法做性能評價
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章 數組和廣義表
第6章 樹和二叉樹
第7章 圖
第8章 查找
第9章內部排序
第10章外部排序
附錄一 學期考題樣卷
附錄二 碩士研究生入學考試樣卷
附錄三 光碟目錄
參考文獻