前言



数据结构与算法对于解决复杂问题,提高编程效率尤为重要,是计算机科学中重要的研究内容,也是计算机学科中一门重要的课程。Python语言因简洁明了的语法以及在数据处理、人工智能等领域的独特优势,成为当下广受欢迎的编程语言之一,因此本书以Python作为工作语言来介绍数据结构和算法。
本书以培养读者的算法思维和逻辑能力为核心目标,系统梳理了数据结构与算法的关键知识点,并将其组织成易于理解和实践的学习单元。全书遵循从简单到复杂的渐进原则,并提供了丰富的例题和习题,以帮助读者提高将理论知识转换为解决实际问题的能力。
本书不仅适合希望提高编程技能的自学者和专业人士,也适合高等院校中数据科学、人工智能等相关专业作为教材使用。特别地,它无缝衔接Python基础教学与进阶的数据结构课程,因此特别适合以Python程序设计语言课程作为数据结构先修课的院校选用。全书共分为9章: 第1章介绍了数据结构与算法的基本概念,第2章概述了Python编程的基础知识,第3~9章详细讲述了线性表、字符串、栈和队列、二叉树和树、图等核心数据结构,以及递归算法、二分查找和经典排序算法等。
本书具备以下特色。
(1) 丰富的图示解析。书中使用了大量精心设计的图示来辅助解释复杂的算法逻辑,使抽象的概念更加直观易懂,帮助读者快速掌握核心知识点。
(2) 详细的代码示例。为了帮助读者更好地理解和应用算法,本书提供了丰富的代码清单,不仅包括基础性的代码片段,还有模板算法的完整实现,使读者能够轻松上手。
(3) 突出关键术语。在介绍数据结构的相关章节中,对重要的术语进行了加粗处理,便于教师在课堂教学时重点强调,也方便读者快速识别和记忆关键概念。
(4) 精选例题和习题。从力扣(LeetCode)平台精选了一系列经典算法题目(访问链接为https://leetcode.cn/problemlist/RzLylpxP/),覆盖了各个章节的主要知识点,能进一步加强读者对数据结构和算法的理解能力,提高实际编码能力。
(5) 为了支持教学和自学,本书还提供了全面的配套资源,包括教学大纲、教学课件、所有程序的源代码、习题答案,以及长达400分钟的微课视频。这些资源可为教师提供便利的教学工具,也为自学者创造更加丰富的学习环境。读者可以通过清华大学出版社的官方网站免费下载这些资料。
本书由侯凤贞、胡建华、潘蕾共同编写。其中,侯凤贞编写了第5、7和8章并统稿,胡建华编写了第1、2和9章,潘蕾编写了第3、4和6章。在编写过程中,编写团队吸取了国内外教材的精髓,对这些作者的贡献表示由衷的感谢。本书在出版过程中,得到了清华大学出版社和力扣中国网站的大力支持,以及吴越、罗纫秋和石亦珠在校对过程中的帮助,在此表示诚挚的感谢。
由于作者水平有限,书中难免有不妥和疏漏之处,恳请各位专家、同仁和读者不吝赐教和批评指正,并与编者讨论。



编者
2025年1月