前言
本书主要包括程序设计中的基础算法、基础数据结构、搜索、图论、高级数据结构、网络流、动态规划、分治、数学、字符串与计算几何等 11章。书中代码均使用 C++语言编写,主要介绍程序设计算法、数据结构等内容的相关知识。本书章节经过精心设计,书中内容按照算法的难易程度进行组织,考虑了知识之间的前后依赖顺序,尽可能保证内容的连续性与难度递进的合理程度,意在使读者能够更容易地了解和掌握程序设计基础算法。
本书每章知识点的介绍分为理论知识、例题讲解、习题推荐三部分。读者可通过阅读知识点的基本概念和理论的介绍,了解相关的理论知识;通过对例题讲解的学习和思考,加深对算法核心思想的理解;通过习题推荐的练习,掌握和巩固所学算法,培养编程思想,提高分析问题、解决问题的能力。本书注重基础算法的介绍,使初学者能够快速入门,并且对程序设计及算法产生兴趣,为后续进阶学习打下坚实基础。
参与编写本书的人员均为天津大学程序设计竞赛代表队教练组教师、现役及退役队员,在编写过程中参考了大量的文献,结合二十多年的教学和参赛经验,对本书的内容进行了撰写,并对书中例题源程序代码进行评测。
参与本书构思、撰写、审稿的人员还有:于健、徐天一、高洁、刘志强、傅旭洲、田原、范一隆、王艺达、施浩森、李雨寒、孟繁辰、陈奕池、郑致远、袁雪凝、杨鸣宇、李皓民、李睿智、何志凌、陈严宽、樊兴宇、朱睿涵。
在本书的出版过程中,得到了清华大学出版社的大力支持,在此表示衷心感谢。
由于时间仓促,编者水平有限,书中难免有不当之处,敬请读者批评指正。
作者
2023年 3月