图书前言

数据结构是计算机及相关专业的专业基础课,也是计算机课程体系中的核心课程之一,是设计和实现系统软件及大型应用软件的技术基础,它主要研究各种基本数据的逻辑结构、存储结构和基本运算的实现,以及查找排序等常用算法的实现。通过学习数据结构课程,读者能够学会如何把现实世界的问题转化为计算机内部的表示和处理,进而学会组织数据,选择合适的逻辑结构和存储结构,设计算法,形成良好的程序设计风格,提高逻辑思维和抽象思维的能力。

本书是对《实用数据结构教程》一书的修订。在保留了原书突出以实用为主体、语言通俗、案例丰富等特点的基础上,经过对原书使用情况的深入调研,并组织专家和一线教师对自身教学经验进行认真总结、提炼之后,对原书内容进行了全面的修订和扩充,使其更加完备、充实。本书采用C/C++语言来描述算法,具有以下特点。

(1) 注重算法设计的简洁和易懂性,阐述深入浅出,实用性更强。

很多学习数据结构课程的读者都感觉数据结构比较抽象,算法理解比较困难。针对这一点,本书致力于使数据结构这个原本抽象的内容尽可能地通俗化,取消了抽象数据类型定义,力求实现从C/C++语言程序设计到数据结构算法设计的无缝对接,所有算法都直接利用C语言描述,程序可直接运行。将各种数据结构的应用具体实例化,易于掌握,更具实用性。

(2) 以典型题目分析带动能力培养。

本书各章都新增加了重点、难点例题解析部分。例题依据教学大纲精心组织,并从近年的考研真题中认真筛选构成,注重以分析为突破口,点拨解题思路,强化多知识点的灵活运用,启发解题灵感。所有例题不仅给出了参考答案,还给出了详细、透彻的分析过程,便于使用者在解题过程中举一反三,触类旁通,从而提高分析问题和解决问题的能力。

(3) 教学内容的实例化和实验化有效融合。

本书在对数据结构课程的主要知识点进行梳理和应用的基础上,增设了综合实验指导部分,明确给出实验题目、目的和要求,并附参考代码,以进一步强化学习者对课程中主要算法的掌握,并应用于实际问题的解决过程中,从而使课程教学内容通过实例和实验两种方式有机地融合在其中,很好地帮助学习者理解教材中的算法,感知算法的真实,脱去算法的抽象性,顺利地从理论过渡到实践。

(4) 形式丰富,组织结构合理,体系完整。

本书各章由知识讲解、应用案例、重点难点例题解析、综合练习及实验指导几部分构成,形成了从理解到应用、从基础到提高、从理论到实践、从练习到考试的完整的教学体系。另外,本书紧贴计算机专业考研大纲要求,在例题和习题部分收录了一些最新的联考试题,帮助考生有针对性地把握知识点。 

本书主要面向应用技术型本科及高职高专院校的计算机专业的学生。可作为计算机专业本科生及其他相关专业学生学习数据结构和程序设计类课程的参考教材,或作为研究生入学考试的辅导教材。

本书共分为9章。第1章介绍数据结构的一般概念和算法分析的初步知识; 第2~5章分别讨论线性表、栈与队列、串、数组等线性逻辑结构、存储结构以及对于不同存储结构的各种基本操作的算法实现; 第6章和第7章介绍树和图这两种重要的非线性逻辑结构、存储方法及重要的应用; 第8章和第9章讨论各种查找算法及排序算法。

本书由颜辉、范丽梅任主编,潘冠宇、刘磊、吴大亲、胡海燕、汤赫男任副主编完成。第1章由刘磊编写; 第2章由汤赫男、吴大亲编写; 第3章由汤赫男编写; 第4章及附录由吴大亲编写; 第5章、第6章由胡海燕编写; 第7章由范丽梅编写; 第8章、第9章由潘冠宇编写; 综合实验指导由刘磊编写。全书由颜辉统稿、主审。在本书的编写过程中得到了贾玉红、杨明莉、高婷、成桂玲等的大力支持; 同时在本书编写过程中,参考了许多同类书籍及相关文献资料,在此一并表示衷心的感谢。

本书虽然经过细致的编写和修订,仍然难免有疏漏和不足之处,需要不断完善。我们热情欢迎使用本书的教师、学生和读者朋友提出宝贵意见和建议,不足之处请予以批评指正。

编者

2015年9月1日