前言
前言
数据结构是计算机科学教育的一个基本组成部分,许多计算机科学领域都构建在这个基础之上。对于想从事实际的软件设计、实现、测试和维护工作的读者而言,掌握数据结构的基本知识是非常必要的。数据结构知识将对一个人的编程能力有着极深的影响,它讲解的是在软件开发过程中如何建立一个合理、高效的程序。然而,由于“数据结构”是一门实践性较强而理论知识较为抽象的课程,目前很多学生在学完了这门课后,还是不知道如何运用所学的知识解决实际问题,针对这种情况,本书进行了精心的设计。本书主要特色如下。
1. 基于项目驱动
本书的每一章都通过一个项目引出问题,通过项目创设学习情境。所有项目都是经过精心筛选和设计的与生活紧密相连的、生动直观的、难易适中的实际问题。每个项目由3~4个任务组成,将数据结构知识点学习置于完成任务的过程中,做到做中学,学中做。
2. 基于编程过程
本书每个单元通过学习情境设置典型任务引出学习内容,然后以编写程序的实际工作过程: 提出需求→设计程序(分析逻辑结构和算法→分析存储结构和算法)→编程实现(编程实现存储结构和算法→编程解决问题)为主线组织全书内容。
3. Java语言描述
Java语言是世界上最受欢迎的面向对象编程语言之一。本书中代码严格按照面向对象的编程思想(抽象、封装、继承、多态的思想)进行设计,接口的定义、类的实现严格按Java语言规范进行编写,这不仅有助于学生学会如何用面向对象的语言来描述数据结构的算法,更有助于学生理解数据结构理论在实际开发中的具体应用。
4. 强化工程思维
本书遵循软件技术技能人才成长规律,将数据结构知识传授与技术技能培养并重,培养软件工程思维,将软件行业从业人员的编程规范、专业精神、职业精神、工匠精神融入书中内容,强化学生将在数据结构学习中获得的逻辑思维内化为行为习惯。
5. 校企双元教材
本书中学习项目由北京希嘉创智教育科技有限公司的丁勇完成,代码的优化由新开普电子股份有限公司的郑继旺及湖南森纳信息科技有限公司的徐磊完成。
本书是对编者2015年出版的教材《数据结构(Java语言版)》的一次全面升级,组织思路更加清晰,代码更加优化。为了更好地适应自主学习、泛在学习、混合式教学的需要,本书配套了新形态、立体化、普惠化的可听、可视、可练、可互动数字化资源: 课件、微课、动画、素材库(视频、语音、图片)、案例库、实训库、习题库。课程资源通过“中国大学MOOC”平台(https://www.icourse163.org/)和智慧职教MOOC(https://mooc.icve.com.cn/)开放,学校可以使用“慕课堂”和“职教云”调用资源构建符合自身特色的SPOC课程开展线上线下混合式教学。本书配有二维码承载的微课资源,可以满足读者多样化的学习需求。
本书由雷军环主编,吴名星、王涛副主编,马佩勋、严志、谢英辉参加编写。具体分工如下: 第1~4章和第7章由雷军环编写,第5章由王涛编写,第6章由吴名星编写,第8章由严志编写,第9章由谢英辉编写,马佩勋负责本书教学项目及习题的建设。
在本书的编写过程中,清华大学出版社给予了大力的支持,在此表示感谢。
尽管编者在写作过程中非常认真和努力,但由于水平有限,书中难免存在疏漏和不足,恳请广大读者批评指正。
编者
2024年7月