- 實用數據結構基礎(第四版)
- 陳元春 王中華 張亮 王勇
- 1721字
- 2019-10-31 12:55:37
第三版前言
“數據結構”課程是計算機及相關專業的一門重要的專業基礎課程。它不僅是計算機程序設計的理論基礎,還是學習計算機操作系統原理、編譯原理、數據庫原理等課程的重要基礎。
數據結構的主要任務是討論數據的各種邏輯結構和數據在計算機中的存儲表示,以及各種非數值運算算法的實現。通過“數據結構”課程的學習,使學生能使用數據結構的基本分析方法來提高編寫程序的能力和應用計算機解決實際問題的能力。
本書編寫的定位是大學本科和高職高專計算機專業的學生,采用“以應用為目的,以夠用為度”的原則,從應用實際的需求出發,大膽取舍,注重實用性。本書對數據結構的概念和原理的闡述通俗易懂,例子翔實,習題豐富,對數據結構基本運算的分析注重其實現過程。對于書中的重要算法均給出了完整的C/C++語言源程序,并全部在VC++環境中運行通過。
本書以“數據結構實驗演示系統”為主線來組織教材的編寫。本書的實踐性環節分為驗證性實驗、自主性設計實驗、課程實訓和課程設計四個層次。本書前10章每章都有一個驗證性實驗和一個自主設計實驗。每一章的驗證性實驗構成一個相對獨立的子系統,主要用來驗證各章教學的重點算法;自主設計實驗是要求學生自主設計完成的程序,每個實驗都有詳細的設計要求;課程實訓是把各章驗證性實驗的子系統組裝成一個完整的數據結構實驗系統,并在此基礎上擴充自主設計實驗的算法;課程設計的目的則是為了進一步提高和鞏固學生分析問題和解決問題的能力,使編程能力得到有效的鞏固和提高。
本書內容共分12章,第1章緒論,介紹了數據結構與算法的基本概念;第2章至第5章,介紹了線性表、棧、隊列、串等線性結構的邏輯特征、存儲方法以及常用算法的實現和基本應用;第6章多維數組和廣義表介紹了它們的存儲方法以及基本算法;第7章和第8章,介紹了樹和圖兩種非線性數據結構的邏輯特征、存儲方法以及相關算法的實現和基本應用;第9章查找,主要介紹了順序查找、二分查找和二叉排序樹的查找方法以及散列存儲的基本方法;第10章排序,介紹了在計算機中廣泛使用的各種排序方法,并對各種排序算法的優劣進行了分析和比較。各章內容相對獨立,自成體系。
第11章是數據結構課程實訓,讓學生設計一個主控模塊,用以調用第2章至第10章的9個驗證性實驗的子系統,完成一個數據結構實驗系統的組裝。本章的作用是學習文件包含處理的基本方法,讓學生在學好數據結構基本算法的同時,建立起系統設計的初步概念。
第12章是數據結構課程設計,精選了24個數據結構的典型題目,并按照從易到難的順序分為A、B、C三個類別。其中A類課題6個,B類課題9個,C類課題9個。每個課題都有明確的設計目的、設計內容和設計要求。學生可以根據自己的學習基礎選做適當的課程設計題目。
《實用數據結構基礎》自2003年8月出版,到2007年6月共印刷了7次。《實用數據結構基礎(第二版)》由陳元春修訂。第二版自2007年8月出版,至2010年6月也印刷了7次。《實用數據結構基礎(第三版)》中王中華編寫了第12章;重畫了第2章、第4章部分插圖;修訂和增加了第2章、第4章、第7章部分源代碼;增加了8.2.3節的十字鏈表,充實了8.5節的最短路徑,增加了8.6節的有向無環圖及其應用,并且增加了部分圖表和源代碼;充實了9.3.2節的平衡二叉樹;修訂了第10章堆排序的部分內容。陳元春對第11章內容進行了修改,并改名為“數據結構課程實訓”;對各章過渡文字和錯誤進行了修訂,并完成全書的定稿工作。
學習本課程的學生應具備C或C++的初步編程能力。使用本教材的總學時建議為72學時,其中實驗性課程約占32學時。
本書集教材、習題、實驗、實訓和課程設計于一體,使用本書的學生,一冊在手就能方便地進行數據結構課程的理論學習和實驗、實訓、課程設計等實踐性環節的訓練。本書配套的電子教案中有幾十個數據結構演示動畫供讀者學習使用。
由陳元春、王淮亭合編的《實用數據結構基礎學習指導》也由中國鐵道出版社出版。該書與本教材密切配合,內容包括:各章要點分析;典型習題分析;各章單元練習解答;自主設計實驗指導,以及與教學內容緊密配套的六套模擬試卷。
中國鐵道出版社編輯參與了本書的審稿和編排工作,在此一并表示感謝!
由于作者水平有限,書中疏漏或不妥之處在所難免,懇請廣大專家和讀者不吝賜教。
編 者
2010年12月