數據結構是計算機專業及相關專業的一門核心專業基礎課程, 是進行計算機程序設計的重要基礎,也是計算機專業碩士研究生入學考試的必考科目之一。本課程主要研究用計算機解決實際問題時,如何進行數據的表示及數據的處理,課程涉及的概念多、知識面廣,相關的原理和算法十分抽像。課程的教學存在“難教難學”的情況,學生要學好數據結構,必須加強實際動手能力的訓練。為幫助學生能夠盡快掌握“數據結構”課程的整體內容,為後續課程,尤其是軟件方面的課程打下堅實的基礎,我們編寫了本書。
本實驗指導教程是配合《數據結構》(ISBN 9787302611646)而編寫的。本書在內容編排方面,按照教材的內容順序循序漸進、由淺入深地設計選取案例。在內容編排上分為3章。第1章是基礎實驗,第2章是課程設計,第3章是開發C/C 程序的集成環境Code::Blocks的介紹。
第1章介紹了每節學習的要點、學習的目標、涉及的基礎知識點,然後針對每節的知識點,進行基礎實驗設計,每個實驗從實驗的目的、內容、算法設計、程序實現4方面進行介紹,每節都設計了相應的應用案例,讓學生明確知識點如何運用。
第2章是課程設計,教程選取學生熟悉的生活場景案例,將數據結構課程的相關知識運用到項目案例中,在每個項目中,首先介紹項目的背景,分析項目中涉及的數據,闡述在一個項目中如何選擇和使用多種基本數據結構,分析如何對這些數據進行操作,有效地將它們融合在一起解決實際的復雜應用問題。通過課程設計的項目實踐,使學生能從更深層次上掌握數據結構的基本理論知識及其應用範圍,掌握應用的方法和過程。
工欲善其事,必先利其器。本書選取了免費、開源、功能完善、簡單易用、跨平臺的Code::Blocks IDE作為第1章和第2章內容的程序實現平臺; 第3章通過圖文的方式一步一步具體介紹Code::Blocks IDE的安裝、配置、工程創建、源程序的新建、編輯、調試、編譯、運行。幫助學生熟練掌握程序開發工具的使用,更好地完成數據結構課程中相關算法應用的程序實現。
本書具有以下特點。
(1) 內容具有全面性、深入性和綜合性。本書在選擇案例時由淺入深,精心設計,內容涵蓋數據結構的重要核心知識。針對數據結構課程各章的知識點,首先給出基本功能的實現及對應的應用案例,幫助學生理解理論知識點的程序實現。在實現基礎實驗之後,進行課程設計,實現各章知識點的綜合應用,本教程中通過實驗課設計、調試、運行已有的各種典型算法和程序,從實踐中鍛煉學生的程序設計能力,讓學生能循序漸進地掌握和運用數據結構課程的相關理論知識,解決軟件開發中的實際問題,達到學以致用的目的。
(2) 內容編排適合實際教學的需要。在實驗案例的選擇方面,不僅有針對知識點的基礎案例為學生提供很好的學習機會和訓練機會,消除學習中的畏難情緒; 同時也提供與現實生活場景密切相關的典型綜合應用案例作為課程設計內容,可激發學生的學習興趣,更好地提高學生的專業技能水平。為了讓學生能自主實踐,針對各個實驗及課程設計項目,書中分析項目案例所涉及的相素、數據的存儲表示及操作,給出了主函數框架,具體代碼實現需要學生自行完成。書中的基礎實驗和課程設計全部采用C/C 語言源代碼描述,這些源代碼都經過調試並且在教學過程中已經應用,教師可以方便地獲取並引導學生進行分析和實現。因此,本書的編排符合實際的教學需求。
本書可作為高等院校計算機及相關專業數據結構課程的實驗教材。
由於編者水平有限,不當之處在所難免,希望讀者批評指正。
編者2023年9月