数据结构研究计算机系统内表示、组织、处理和储存数据的方式,算法则着重于程序处理流程的优化,二者相辅相成,共同提高程序的时间与空间效率。数据结构课程已成为高等院校计算机科学与技术、信息管理与信息系统等专业的核心专业课程,并有越来越多的专业及相关技术人员对数据结构知识提出了更高的的需求。本书的主要特点:
(1) 参照数据结构普遍的分类规范进行内容编排,涵盖了一般需要掌握的所有基础数据结构与算法,并对算法的效率进行对比分析。
(2) 实例引入和图文讲解展现了将实际问题转换为抽象的数据结构的方法并设计相应的算法。
(3) 基于C++语言面向对象的概念和对象类设计原则进行算法实现,体现了面向对象的三大特点——封装、继承、多态,利用封装实现其独立的原理特点,利用继承实现各个数据结构之间的关联,利用多态展现数据结构在实际问题中的调用方法。附录二中涵盖了各个C++类对应的UML类图,可从中清晰地看到每个类中的属性与方法,以及各个类之间的关系。
(4) 为了满足教学过程中读者的上机练习需求,书中的所有算法实现均可以通过直接编译运行,附上了相应的算例和运行结果,便于读者对比实现。同时采用.h头文件与.cpp定义文件分离的方式进行算法实现,避免对数据结构的重复定义,引用位置也在附录一的文件夹结构中详细展示。
(5) 原则上建议读者将书中的数据结构进行自主实现,但同时本书也介绍了几种基础数据结构对应的标准模板库(STL)里的容器,若读者时间不足,可以在了解后直接使用现有组件。
(6) 每一章最后通过扫描二维码获得匹配的思考和练习题,包含概念理解、算法拓展、解决实际问题等题型;同时参考答案里附上了每个问题的解题思路、可执行的C++代码及运行结果供读者参考。
本书内容丰富,结构合理,实用性强,配有电子课件、完整的程序源代码、习题参考答案等教学资源。