前言
“数据结构”是高等院校计算机类专业及其他相关专业的一门必修的专业核心基础课程,主要讲解数据的各种逻辑结构和存储结构,以及对每种结构的处理算法,使学生能够使用数据结构和算法的基本分析和设计方法,提高学生分析和解决实际问题的能力,也为学生学习后续专业课程奠定基础。
本书内容涉及集合、线性结构、树结构和图结构4种逻辑结构,以及查找和排序方法,学习内容较多,对初学者也有较高的难度。在学习“数据结构”这门课程时,应牢固掌握有关的基本概念、基础知识和主要算法,深刻理解数据组织和处理的思想方法,学会针对具体问题建立有效的逻辑模型,培养分析和解决实际问题的能力。在学习过程中,对于每个具体内容,都要深入思考“3W”,即What(是什么)、How(怎么做)和Why(为什么),切记不要死记硬背,要学会将狭义问题广义化,复杂问题简单化,不同问题统一化,形象问题抽象化,灵活运用,举一反三。
全书共8章,第1章讲解数据结构、算法和算法分析的基本概念,第2章讲解线性表的逻辑结构、存储结构和处理算法,第3章讲解栈和队列这两种特殊的线性结构,第4章讲解串、数组和广义表的基本概念和基础知识,第5章讲解二叉树、树和森林的逻辑结构、存储结构和处理算法,第6章讲解图的逻辑结构、存储结构和处理算法,第7章讲解查找表的组织方式以及查找算法,第8章讲解常用的排序算法。每章之后都有习题,其中,第2章和第5章还借应用案例讲解了集合的线性结构和树结构的实现方法。
本书用通俗易懂的语言,结合大量图示和实例来讲解数据结构的基本概念、基础知识和处理算法,帮助读者理解和掌握相关内容,其中,在第2章、第5章和第6章还给出了应用案例; 注重讲解数据结构和算法的分析设计方法,使读者能够理解数据结构和算法为什么如此设计。本书算法比较全面,并且用C和Java两种程序设计语言来描述相关的存储结构和处理算法,这两种语言正是面向过程程序设计语言和面向对象程序设计语言的典型代表,使读者能够掌握数据结构的面向过程和面向对象程序设计方法。
本书由费如纯、刘丽华和胡楠主编,赵杨川、王彦明和吴吉红副主编。本书第6章由费如纯编写,第5章由刘丽华编写,第2章由胡楠编写,第7章由王彦明编写,第1章和第3章由赵杨川编写,第4章和第8章由吴吉红编写。
本书在编写过程中,参阅了大量图书和网络资料,在此向有关作者表示最诚挚的谢意!由于编者水平有限,本书中难免存在疏漏或不足之处,恳请广大读者批评指正。
编者
2025年4月
