- 數據結構(C語言版)(第2版)
- 嚴蔚敏 李冬梅 吳偉民
- 1261字
- 2020-05-20 09:25:41
第2版前言
本書第1版自出版以來,深受廣大讀者歡迎,被百余所學校選為“數據結構”課程的教材,并被評為“‘十二五’普通高等教育本科國家級規劃教材”。為了更好地滿足廣大高等院校的學生對數據結構知識學習的需要,編者結合近幾年的教學改革實踐、科研項目以及廣大讀者的反饋意見,并參考了大量文獻資料,對教材進行了仔細的修訂。這次修訂的主要內容如下。
(1)采用“案例驅動”的編寫模式。書中結合實際應用,將各章按照“案例引入——數據結構及其操作——案例分析與實現”的案例驅動思路來展開。每章使用一個有趣的“問題案例”開頭,由該案例逐步引入新的數據結構,然后給出該數據結構的存儲表示及各種基本操作的實現,之后進一步分析此案例,最終利用該數據結構來實現此案例。這樣,學生便能體會到從問題求解到程序設計的轉換過程,深刻理解數據結構在程序設計中的作用。
(2)算法講解更加細致。學生學習數據結構最大的困難是不能將用文字表述的算法思想轉換成程序。新教材中對每個算法思想進行詳細闡述,將用文字描述的算法步驟與用類C語言表述的算法描述一一對應。尤其是對于有循環結構的算法,在算法步驟的描述中利用縮進的格式清晰地體現出了循環的執行過程。因為教材中的算法是由淺到深的,所以學生通過學習這些算法,在不知不覺中便逐步提高了將自然語言描述的算法轉化為高級語言描述的程序的能力,真正提高了算法設計與算法實現的能力。
(3)優化教材內容。參考計算機專業最新的全國統考考研大綱,增加了大綱近兩年新增的考點內容,如分塊查找、外部排序等,有助于考研學生復習備考使用。
本書共8章內容,其中第1章為緒論,綜述數據、數據結構和抽象數據類型等基本概念;第2章至第6章從抽象數據類型的角度,分別討論線性表、棧、隊列、串、數組、廣義表、樹和二叉樹以及圖等基本類型的數據結構及其應用;第7章和第8章分別討論查找和排序,除了介紹各種實現方法之外,還著重從時間上進行定性或定量的分析和比較。本書突出了抽象數據類型的概念。對每一種數據結構,都分別給出相應的抽象數據類型規范說明和實現方法。
全書中采用類C語言作為數據結構和算法的描述語言,在對數據的存儲結構和算法進行描述時,盡量考慮C語言的特色,同時兼顧數據結構和算法的可讀性。學生在實際上機操作時,可以很容易地將本書中的數據結構和算法轉換成C或C++程序。
為方便教師教學和學生學習,本書還提供了PPT教學課件、習題答案、源代碼、教學大綱、實驗指導,以及算法的Flash動態演示。讀者可從人郵教育社區(www.ryjiaoyu.com)上免費下載。
本書可作為普通高等院校計算機和信息技術相關專業“數據結構”課程的教材使用,也可供從事計算機工程與應用工作的科技工作者參考。
在本書的編寫過程中,北京林業大學信息學院的鐘復之、陳忠富、金鑫、王巖琪、梅莎、趙九晗、張盛福、閆楚依、紀芳、趙培雯等同學參加了有關程序的調試工作和文字校對工作,李華穎、林怡、張琪、周紀文、蘇翔、王玢玥、姚佳璐等同學參加了算法的Flash動態演示制作工作,在此表示衷心的感謝!
因編者水平有限,書中錯誤在所難免,懇請批評指正。
編者
2014年11月
- Microsoft Exchange Server PowerShell Cookbook(Third Edition)
- 在最好的年紀學Python:小學生趣味編程
- 零基礎PHP學習筆記
- 機器學習系統:設計和實現
- Oracle從新手到高手
- Cocos2d-x游戲開發:手把手教你Lua語言的編程方法
- Java EE 7 Performance Tuning and Optimization
- HTML5 APP開發從入門到精通(微課精編版)
- Python極簡講義:一本書入門數據分析與機器學習
- Python機器學習之金融風險管理
- Arduino計算機視覺編程
- 零基礎學Scratch 3.0編程
- 算法設計與分析:基于C++編程語言的描述
- 從零開始學Selenium自動化測試:基于Python:視頻教學版
- GO語言編程從入門到實踐