图书前言

前言

在数字化浪潮中,计算机科学正以前所未有的广度与深度推动社会变革。作为其基石的数据结构与算法,不仅是软件设计与系统开发的核心,更是培养计算思维与解决问题能力的关键路径。“数据结构与算法”是计算机专业的核心必修课程,也是研究生入学考试的重要组成部分,在整个计算机本科教学体系中具有承前启后的重要地位。本书是在我校“数据结构与算法”课程获批国家级线下一流本科课程的背景下,作为该国家级一流课程的配套教材编写而成。这既是对我们教学团队多年来教学积累的认可,也是对教材编写工作的极大鼓舞。

为适应高校计算机类专业新工科建设和人才培养的需要,我们组织了一支兼具丰富教学经验和专业学术专长的一线教师团队,致力于编写一本能够将专业知识、实践应用和科研前沿有机结合的教材。本书根据学生的认知规律,按照内容的难易程度和内在联系精心编排教学体系。通过学习本书,学生不仅能够准确掌握各类数据结构的特性与算法思想,还能够系统掌握从实际问题抽象为数据结构模型、从算法设计到程序实现的完整方法,逐步完成从理解、掌握到应用乃至创新的能力跃升。本书既适合作为高等学校计算机类专业各层次学生的教材,也可作为相关领域技术人员的参考用书。

全书共分11章,内容编排由数据结构至算法,讲解由浅入深、层次清晰、表述通俗。第1章介绍数据结构的基本概念、抽象数据类型、算法与算法分析的方法;第2~8章依序讲解线性表、栈、队列、字符串、数组、树与二叉树、图等基础数据结构,每章均以实际应用或科技前沿案例引入,逐步展开基本概念、逻辑结构与抽象数据类型、存储实现与基本运算,并进行算法分析,每章还包含两个完整应用实例,从设计到代码实现,着力培养学生的理论联系实际能力;第9章系统介绍各类查找算法及其性能评价方法,重点包括以平均查找长度为度量依据的时间与空间复杂度分析;第10章详解内部排序与外部排序算法,全面比较各类内部排序算法的特点、时空复杂度及适用场景;第11章集中介绍分治、贪心、动态规划和搜索等经典算法设计思想。

本书具有以下特色: 

(1) 严格遵循高等学校计算机类专业教学指导委员会关于计算机科学与技术、软件工程及相关专业的最新培养方案,教材内容全面覆盖研究生入学考试“数据结构”科目的所有考点。本书选用C++语言进行讲解,因其不仅是“数据结构”课程的先导语言,也是后续操作系统等课程编程实践中的常用工具。(2) 注重理论与实践相结合。每种数据结构均以实际应用或前沿领域的“引例”开篇,阐明其应用背景,并在后续教学中逐步给出解决方案,引导学生在掌握理论知识的同时,提升分析问题与解决问题的能力,强化创新意识,实现理论素养与实践技能协调发展。

(3) 提供完备的教学资源支持,包括配套教学大纲、教学日历、课件、程序源码、习题参考答案,以及由授课教师团队录制的知识点微课视频与动画演示。此外,特别邀请开放原子开源基金会开源鸿蒙操作系统核心开发与推广专家冷钦街老师录制专题微课,深入讲解链表等数据结构在开源鸿蒙操作系统及开源 Nginx高性能 Web服务器中的实际编程应用。读者可通过扫描封底授权码注册后,扫描书中二维码进行学习。

本书由周建涛教授负责整体规划、组织编写与全书统稿,并由安春燕、魏宏喜、吴伟、王燕等多位老师共同参与撰写。具体分工如下: 安春燕老师编写第8、10章内容及习题,魏宏喜老师编写第1、11章内容及习题,吴伟老师编写第6、7、9章内容及习题,王燕老师编写第2、3、4、5章内容及习题。

在编写过程中,我们参考了《数据结构与算法》(ISBN: 9787302183846)等经典教材,特此向该书的作者赵玉兰、王俊义、周建涛、王显荣、刘咏梅、刘玉林等老师表示诚挚感谢。同时,本书也借鉴了与北京软通动力教育科技有限公司产学研合作的相关成果,并参阅了国内外多部优秀教材,力求在理论深度与实践指导之间取得平衡,在此一并向所有相关机构与作者致以谢意。

本书的出版得到了赵玉兰副教授的关心与支持,并承蒙清华大学出版社鼎力协助。内蒙古大学计算机学院硕士研究生李东旭、李昌霖、姬湘波、郝娅玲、王进阳、邱紫涵、黄玉莹等同学参与了代码调试与部分辅助工作,在此一并表示衷心感谢。

尽管我们力求完善,但限于时间与水平,书中难免存在疏漏与不足之处,恳请各位专家、同行和读者批评指正。我们也欢迎广大读者与我们交流反馈,共同为推进计算机高等教育教材建设贡献力量。

周建涛

2026年1月于内蒙古呼和浩特