前 言
“数据结构”是计算机程序设计的重要理论基础,包含数据的逻辑结构、存储结构和
相应操作,理论性较强。“数据结构”又是一门实践性很强的课程,主要培养学生分析数据、
组织数据的能力,从而使学生能够编写出效率高、结构完整的程序。在软件工程开发和实
施过程中能否正确、灵活地运用数据结构的思想设计出解决问题的算法,是检验“数据结
构”课程学习效果的重要标准。
目前市面上有很多版本的“数据结构”教材,这些教材大多采用串讲的方式组织理论
知识,即“提出概念—解释概念—举例说明”,这种形式虽然简单明了,却不能很好地结
合实际应用来讲解理论知识,并不符合高职院校学生从具体实例开始再到一般认知的学习
过程,导致学生很难理解数据结构在程序设计过程中的重要作用。此外,这些教材基本采
用C或C++语言作为数据结构和算法的描述语言,偏向于基础应用。
本书弥补了上述数据结构教材的缺陷,注重培养学生的实践能力,在传授理论知识的
同时遵循“实用优先、循序渐进、理实结合、全面提升”的原则,同时以实践案例为中心
组织课程内容,将知识点融入真实案例中。本书共8章,每章的内容都按照勤学—善询—
笃行的总体思路呈现。勤学篇包含基础知识和基础题目;善询篇包含头脑风暴和反馈;笃
行篇包含实践项目和能力拓展。本书引导学生从了解案例需求开始,有针对性地准备相应
知识,通过案例分析将知识点与实际应用相融合,从而设计实现案例效果,最后对整个过
程进行总结,达到提高能力和加深理解的目的。
本书第1章为初识数据结构,主要介绍数据结构的相关术语、学习数据结构的意义、
算法的度量等知识;第2~6章介绍线性表、栈和队列、串和数组、树和二叉树、图这几种
常用的数据结构,根据这几种数据结构的特点,结合猴子选大王程序、一元多项式加法运算、
舞伴问题、哈夫曼编码器、教学计划的编制等案例,将理论与实践相结合;第7、第8章
介绍了经典的查找和排序算法,并结合简单的学生成绩管理系统说明查找和排序的具体
应用。
本书选择Java语言作为描述语言,因为相对于其他语言,Java语言比较完整、彻底
地体现了面向对象的设计思想,还能与面向对象的程序设计语言无缝对接。
本书由于莉莉、平金珍担任主编,于莉莉、平金珍共同编写第1~6章的内容,温沁润、
冯博和王伟锋共同编写第7、8章的内容和配套习题,全书由于莉莉统稿。在编写过程中
得到了CSDN、中科超智(北京)科技有限公司、河北盘古网络技术有限公司、河北小林
焰科技有限公司、河北禾创营科技有限公司、河北丰憬信息技术有限公司等企业的大力支
持,在此表示感谢。
由于编者水平有限,书中难免有疏漏与不足之处,恳请广大读者批评、指正。
编 者
2025年3月
