图书前言

随着计算机科学技术的不断发展和应用领域的不断扩大,在许多非数值处理的应用问题中,计算机所面对的数据结构十分复杂、数据量巨大且形式多样化,如何根据各类实际问题归纳、抽象出对象的数据特征及对象间的相互联系,从而选择合适的数据组织方法和存储方法,设计高效的求解算法,成为计算机学科需要解决的最迫切的任务。

数据结构与算法是一门实践性很强同时又十分抽象的计算机学科基础课程,本书基于CDIO的理念进行编写。CDIO是源于国外的工程教育模式,体现了欧美理工类学科教育改革的全新理念。通过构思(Conceive)、设计(Design)、实现(Implement)和运行(Operate)4个环节,引导学生积极参与“做中学”和“基于项目的教育和学习”的整个过程,达到学习效果的提高和升华,真正实现课程教学的目的。本书将这种教学理念引入到编写中,每种数据结构均以流行的抽象数据类型格式(ADT)对其进行定义,使用C语言函数的形式描述其对应的存储结构及基本操作算法,以典型算法设计来实现其基本应用,以应用实例分析深化对基本概念的理解和培养分析问题与解决问题的能力。

本书强调实用性,注重理论指导下的可操作性,注重提高分析问题、解决问题的能力。各章均配有小结,目的在于引导读者复习该章内容;各章课外习题和实验课题由配套教材《数据结构与算法习题解析和实验指导》提供,以期通过典型习题与实践指导使读者更全面、更透彻地掌握数据结构与算法这门课程。

本书第1章介绍数据结构的概念,第2~第5章介绍各种线性结构的知识,第6章介绍树形结构,第7章介绍图形结构,第8章介绍查找算法,第9章介绍排序算法。

参加编写的有邹永林(第1、第4、第7和第9章)、周蓓(第2、第6和第8章)、唐晓阳(第3和第5章),周思林、朱奭、沈健、洪蕾等参与讨论和算法的设计与调试;邹永林负责全书的统稿。

由于作者水平有限,书中难免存在不足之处,恳请广大读者批评指正。

  编者

2015年5月