图书前言

前言

数据结构是计算机学科知识结构的核心和技术体系的基石,不仅在研究生招生中是必考科目,而且在IT公司选拔技术人才时也是考查重点。随着网络化、数字化和智能化的发展,数据结构的基础性地位得到了业内和高校的空前重视,理工科的多数专业都开设了这门课程,许多社会科学方向的同学也开始选修这门课。

目前市面上已经有不少数据结构方面的著作或教材,其中不乏一些经典和精品。由于不同类型高校的生源基础不一样,培养方案的制定和专业课的学时分配也不相同,所以数据结构的教学计划和课程安排都需要有针对性。为了更好地满足普通高校学生的需求,编者所在的教学团队着力编写一本具有以下三方面特色的简明教材。

(1) 深入浅出,突出重点。本书将生活中常见的实例引入课程学习,并对专业术语和公式进行简单通俗的解释,降低阅读门槛,方便读者自学。为了使内容更加简明,本书结合近几年的教学改革实践,优化了各个章节的安排,细化了关键知识点的介绍,不仅有利于学生夯实基础,也有助于考生复习解惑。

(2) 图文并茂,讲解细致。本书不仅结合大量实例讲述如何利用数据结构解决问题,而且对关键操作和核心算法都给出丰富的插图,通过细致的图解来加深阅读印象并减轻认知负担。很多时候“一张图片胜过千言万语”,这些视觉元素的辅助不仅提高了信息传递和理论学习的效率,而且让本书在形式上更加简明。

(3) 实战演练,循序渐进。本书在每讲解一个重要的知识点后,就结合例题进行实战演练,一方面引导读者积极思考和勤于动手,另一方面提高其在后续专业学习中触类旁通的能力。书中的代码结构完整且符合软件工程规范,附上大量的注释使其更加容易理解和调试,并可在清华大学出版社官网(www.tup.tsinghua.edu.cn)本书页面的配套资源中下载源代码,方便读者进行修改和编译。

全书共7章,第1章介绍数据结构的基本概念,特别强调了算法设计与分析的方法;第2~5章分别讲述了线性表、栈和队列、树和二叉树以及图等基本类型的数据结构及其应用;第6章和第7章分别讨论查找和排序的各种算法实现,并进行定性或定量的分析与比较。

书中主要采用C语言作为存储结构和算法的基本描述语言,同时选用了一些C++对C的非面向对象的增强功能。例如,输入输出的cin、cout运算符,动态分配和释放内存的new和delete运算符,函数参数传递的引用方式等。这些措施使得相关代码简明清晰,可读性好,更易于初学者掌握。当然,读者也可以把书中的类型定义和操作算法稍加处理,封装成类,进而通过面向对象的编程范式完成所有代码。

作为北京工商大学“十四五”规划本科教材,本书在编写过程中得到了北京工商大学计算机与人工智能学院、北京科技大学计算机与通信工程学院的大力支持,相关课程的教学团队和同学们也提出了许多宝贵意见,编者在此表示由衷的感谢。

由于水平所限,书中可能存在疏漏和不足之处,欢迎读者联系并批评指正。

  编者

2026年5月

于北京工商大学