- 實用數據結構基礎(第四版)
- 陳元春 王中華 張亮 王勇
- 1500字
- 2019-10-31 12:55:37
第一版前言
數據結構是計算機及相關專業的一門重要的專業基礎課程。它不僅是計算機程序設計的理論基礎,還是學習計算機操作系統、編譯原理、數據庫原理等課程的重要基礎。
數據結構的主要任務是討論數據的各種邏輯結構和數據在計算機中的存儲表示,以及各種非數值運算的算法的實現。通過數據結構課程的學習,使學生能使用數據結構的基本分析方法來提高編寫程序的能力和應用計算機解決實際問題的能力。
本書編寫的定位是大學本科和高職、高專的計算機專業的學生,采用“以應用為目的,以夠用為度”的原則,從實際應用的需要出發,大膽取舍,注重實用性。
從體系結構而言,本書以“數據結構實驗演示系統”為主線來組織教材的編寫。每一章的主要算法構成一個相對獨立的子系統(即子模塊),子系統既是各章教學的重點內容,也是上機實驗的主要算法。各個子系統可以通過菜單的選擇對本章的基本算法進行實驗和演示,也可以用它來檢驗相關習題的正確性。而系統又是開放式的,對于學有余力的同學,可以將數據結構的其他算法擴充到整個實驗演示系統中去。
從編寫風格而言,本書力求做到簡明扼要,條理清楚,并盡量避免抽象的理論論述和復雜的公式推導。本書集教學和實驗指導于一體,使得使用本書的學生和自修的讀者,一冊在手就能方便地進行數據結構課程的學習和實驗訓練。如果讀者在使用本書的過程中需習題答案及“數據結構實驗演示系統”,可向中國鐵道出版社計算機圖書中心或任課老師索取。
本書內容共分10章,第1章緒論,介紹了數據結構與算法的基本概念,并對算法的時間復雜度和空間復雜度做了介紹;第2章到第5章,介紹了線性表、棧、隊列、串等線性結構的邏輯特征,存儲方法以及常用算法的實現和基本應用;第6章到第7章,介紹了樹和圖兩種非線性數據結構的邏輯特征、存儲方法以及相關算法的實現和基本應用;第8章,主要介紹了順序查找、二分查找、分塊查找和二叉排序樹的查找方法以及散列存儲的基本方法;第9章,介紹了在計算機中廣泛使用的各種排序方法,并對各種排序算法的優劣進行了分析和比較。各章內容相對獨立,自成體系;每章都有明確的實驗目的和實驗要求,供學生上機實驗使用,在實驗參考程序中給出了各章子系統的源代碼。書中各章子系統的實驗均給出了完整的源代碼,并全部在VC++環境中上機運行通過。由于篇幅所限,本書大部分算法都是以單獨的函數形式給出的,若讀者要運行這些算法,還必須給出一些變量的說明及主函數來調用所給的函數。
本書的第10章為“系統的開發”,提出了系統設計的要求,文件包含處理方法及主控模塊的設計。實際上它相當于數據結構的一個實訓課題,讓學生在完成各章子系統的前提下,再設計一個主控模塊(即主菜單),來調用各個子系統。通過實訓,使學生在原有各章子系統的基礎上,組裝成一個完整的數據結構實驗系統,從而使學生在學好基本算法的基礎上,逐步建立起系統的概念。
本書由計春雷副教授、曾憲文副教授和沈學東老師策劃,本書第1章、第3章、第4章、第6章、第10章由陳元春執筆,第2章、第7章、第8章由張亮執筆,第5章、第9章由王勇執筆。實驗和習題指導部分由陳元春和張亮合編,并由張亮調試了整個“數據結構實驗演示系統”。最后由陳元春完成全書的統稿、修改和定稿工作。王淮亭副教授、劉新銘副教授和鄭君華老師審閱了全書的內容,并提出了許多寶貴的修改意見,費宏慧老師繪制了本書的大量圖片。另外,還有陳賢淑、陳曉娟、廖康良等參與了本書的編排工作,在此一并表示感謝!
由于編者水平有限,書中的疏漏或不妥之處在所難免,懇請廣大專家和讀者不吝賜教。同時,我們也會在適當的時間對本書的內容進行修訂和補充,并發布在天勤網站(http://www.tqbooks.net)的“圖書修訂”欄目中。
編 者
2003年8月
- ETL數據整合與處理(Kettle)
- 使用GitOps實現Kubernetes的持續部署:模式、流程及工具
- Learning Spring Boot
- 文本數據挖掘:基于R語言
- 云計算服務保障體系
- 云計算與大數據應用
- OracleDBA實戰攻略:運維管理、診斷優化、高可用與最佳實踐
- 基于OPAC日志的高校圖書館用戶信息需求與檢索行為研究
- Flutter Projects
- 大數據治理與安全:從理論到開源實踐
- Mastering LOB Development for Silverlight 5:A Case Study in Action
- 數字IC設計入門(微課視頻版)
- 數據產品經理寶典:大數據時代如何創造卓越產品
- Applying Math with Python
- Getting Started with Review Board