第2版前言
數據結構是計算機程序設計的重要理論技術基礎,《數據結構》課程對計算機學科具有承前啟後的地位和作用。由於課堂教學和實踐的深度和廣度有限,要學生很好地理解和掌握數據結構的理論、相關算法及其應用往往比較困難。所以,作為數據結構課程後續課程的《數據結構課程設計》的開設就非常重要。該課程的目的是進一步鞏固和提升學生對數據結構知識的掌握及應用。由於該課程一般在大學一或二年級開設,學生一般隻學了C語言,針對這種情況,我們在第1版教材的基礎上,將源程序全部改用C語言描述。
本書是《數據結構課程設計》的教材,在作者多年指導學生完成課程設計的經驗基礎上編寫而成。全書的內容安排與《數據結構》課程主教材的相關章節對應,精心挑選出十多個實際應用問題,並通過應用程序的設計、開發與實現過程,帶領讀者一步一步地掌握數據結構課程的精華。本書的編寫力求思路清晰、概念準確、算法精湛、格式規範、典型實用。本書全部采用C語言實現各種算法,所有算法均在Microsoft Visual C++ 6.0環境下測試通過。
全書共10章,第1章概述課程設計的目的和要求等;第2章至第7章分別討論了線性表、棧與隊列、串、矩陣及廣義表、樹、圖等應用;第8章和第9章分別討論了動態存儲管理、查找、排序及文件操作的應用;第10章對應用程序主界面的常用設計方法進行了介紹。
第2章至第9章是本書的重點。其中,各章的內容由以下三部分組成。
第一部分是本章知識要點。包括數據結構的定義、常用存儲方法及經典算法等提示。
第二部分是應用設計實例。從設計要求、概要設計、模塊設計、詳細設計到測試分析、源程序清單等,按照應用設計開發的全過程進行編寫,並對源程序進行了詳細注釋。目的是幫助讀者在無形中學會模仿,起到潛移默化的效果。希望書中的應用實例能起到拋磚引玉的作用,以引來讀者更多、更優良的設計範例。
第三部分是課程設計題選。目的是希望讀者在學習相關章節的內容後能自己練習提高。題選有難有易。每個題選由問題描述、基本要求、測試數據、實現提示和選做內容五部分組成,希望能夠幫助讀者在實踐過程中得到一些啟發。
本書由阮宏一、宋婉娟主編,並負責全書的總體策劃與統稿、定稿工作,魯靜、張琪、張緒輝、金迪任副主編。各章主要編寫人員分工如下:第1章、第7章、第9章由阮宏一、張緒輝、金迪編寫,第2章、第3章、第10章由宋婉娟、張劍編寫,第4章、第5章、第8章由魯靜、吳士泓編寫,第6章由張琪編寫。
本書適合作為高等學校計算機及相關專業《數據結構課程設計》的教材,也可以作為學生自學數據結構設計的輔助教材或軟件開發者的參考書。
本書應用程序源代碼可在華信教育資源網(www.hxedu.com.cn)免費注冊下載。
由於時間倉促及作者水平有限,書中難免存在欠妥和疏漏之處,敬請廣大讀者批評指正。編者E-mail:hyruan@hue.edu.cn。
編 者
2016年8月