- 數據結構(Java語言描述)
- 羅福強 楊劍 劉英
- 1383字
- 2020-05-21 10:31:41
前言
在物質世界中,一切事物投影到計算機世界之中全部都表現為數據。這些數據來源于現實,表示某種具體的意義,具有統一的表示方法,因而構成計算機程序處理的對象。研究數據在計算機中的表示方法、關聯方法、存儲方法以及在其之上的處理方法,就構成了數據結構課程的主要內容。
隨著以云計算、物聯網、大數據、移動互聯為代表的第3次信息技術浪潮的發展,無論軟件設計思想、程序設計語言、軟件開發環境,還是最終的應用場景如今都發生了深刻的變革。首先,從程序設計方法來講,傳統的以C語言為代表的結構化程序設計方法早已轉變為面向對象的程序設計方法了,而且在云計算技術的引領之下程序設計方法正在逐漸向面向服務的設計方法(SOA+RESTful)發展和轉移。其次,從人才培養方面來說,不但出現了新專業,如軟件工程、網絡工程、物聯網工程等;而且專業方向也越分越細了,如云計算技術方向、大數據技術方向、智能手機方向等。
因此,按“C語言程序設計→C++程序設計→數據結構→……”的線路開展教學的課程設置模式越來越無法適應第3次IT浪潮發展的要求了。也正因為如此,越來越多的院校在試著打破傳統的課程設置模式。例如,根據專業方向的需要直接將Java語言作為入門語言組織教學,為此就形成了諸如“Java程序設計→數據結構→大數據技術(Hadoop+HBase)→……”之類課程設置方案。
本教材正是基于這種時代大變革的要求而編寫的教材。全書以Java為基礎,將面向對象的思想融入到數據結構設計和算法設計之中,通過精選基礎理論內容、降低理論難度和抽象性、加強實踐環節等措施來增強學生的面向對象程序設計能力和應用能力培養和提高,并力求取得較好的教學效果。同時,基于Java語言已經提供了諸如棧、隊列、鏈表、字符串、數組、集合等內置數據結構的狀況,兼顧大數據技術、物聯網技術等新專業方向的對地理位置、圖像、視頻等數據處理的需要,本教材強化了諸如串、矩陣、樹和圖等數據結構的設計和應用,從而為新興的技術應用提供更多的支持。
本書在編寫時力求體現以下5大特色。第一,教學定位清楚,本書面向應用型本科院校學生,立足于把數據結構的基本概念和基本算法講清楚,講透徹,第二,教學內容先進,全書以Java語言為工具,用面向對象的思想來描述各種的數據結構的定義和相關操作算法的實現。第三,教學目標明確,知識結構完整,在教學內容安排方面強調既要方便教學,又要方便自學,因此針對數據結構的基本算法提供完整的Java源代碼實現,而針對其他算法只提供分析和設計思路,源代碼留給讀者拓展實現。第四,教學理念先進,堅持以應用為綱,避免了傳統數據結構教材重理論輕實用的弊端,因此本書針對每一種數據結構都特別突出相關數據結構的應用與實踐。第五,教學模式完善,堅持以能力培養為中心,全書不僅配備了豐富、符合教學目標的課后習題,還為每章配備了從知識點出發進行設計的、能真正培養學生應用能力的實訓。本書最后一章提供了綜合項目實訓,通過6個實訓任務來提高學生的綜合應用與實踐能力。
本書由四川大學錦城學院的羅福強老師、劉英老師和電子科技大學成都學院的楊劍老師共同編寫。其中,劉英老師編寫第1章的部分和第2、3章,羅福強老師編寫了第1章的部分和第4、5、9章,楊劍老師編寫了第6、7、8章。本書最后由羅福強統稿和審核。
特別感謝四川大學錦城學院的陶德元教授對本書的編寫提出了很多中肯的意見。同時,也向所有其他幫助和支持本書編寫的人表示感謝!
編者
2015年12月
- DevOps with Kubernetes
- Android和PHP開發最佳實踐(第2版)
- Functional Programming in JavaScript
- FLL+WRO樂高機器人競賽教程:機械、巡線與PID
- Building RESTful Python Web Services
- Working with Odoo
- ASP.NET開發與應用教程
- Building Microservices with .NET Core
- Odoo 10 Implementation Cookbook
- .NET 4.5 Parallel Extensions Cookbook
- Spring Boot從入門到實戰
- C語言程序設計教程
- Getting Started with JUCE
- JBoss AS 7 Development
- Mastering Node.js