前言 “数据结构”是一门有关程序设计理论与实践的基础性课程。数据结构及算法类课程一般包括两大部分:一是典型结构,包括典型的逻辑结构、典型的物理结构及典型结构在计算机中的实现;二是常用算法,如查找、排序类。逻辑结构用于实体的抽象,高性能的算法需要合适的存储设计和算法设计。数据结构作为程序设计基础课,是编程能力进阶的必修课。有效的数据结构课程学习可以提高读者用计算机求解问题时问题建模、分析问题、方案设计和解决问题的能力。但要达到此目的,需充分理解理论知识,并把理论落实到实践中。 本书是江苏省重点教材《数据结构原理与应用》(ISBN:9787302589327,清华大学出版社出版)与《数据结构原理与应用实践教程》(ISBN:9787302623434,清华大学出版社出版)的配套教材。本书为读者进行理论知识上的答疑解惑和实践活动中的排忧解难。 1. 知识梳理。本书的第一篇(学习辅导篇)与主教材对应,分为8章,每一章的第1部分为“由根及脉,本章导学”。基于知识结构图,梳理本章的主要内容。该部分向读者展现本章知识的全貌和知识架构。 2. 指点迷津。学习辅导篇每一章的第2部分为“拨云见日,谜点解析”,根据教学过程中发现的学生学习的难点、谜点,进行深入剖析与说明。学习指导篇每一章的第3部分为“积微成著,要点集锦”,给出基本的、总结性的和综合性的知识点。这些内容可以帮助学生加深对基本概念的记忆与理解,提升认识。 3. 答疑解惑。学习辅导篇每一章的第4部分为“启智明理,习题解答”。给出教材中所有习题的解析和补充的习题及其解答。教材上的习题围绕教学内容,根据将知识转变成智慧所需的记忆、理解与应用3个阶段精心设计了填空题、简答题、应用题和算法设计题等多种题型;补充的判断题和单项选择题,是学生自检自测最直接、方便且客观的方式。 4. 直观可用。实践指导篇分为8章,分别对应主教材的8章。主要包括两部分内容: (1)主教材《数据结构原理与应用》习题中的上机练习题题解;(2)实践教程《数据结构原理与应用实践教程》“第3篇 设计篇”中各实验任务的源码。对每个任务,因在实践教程中已给出了算法设计思路和算法描述,本书仅给出源码相关的【设计说明】和【参考源码】,前者帮助读者快速读懂源码,后者给出实现参考。 编者以近二十年的教学积累成功建设了“数据结构”国家级一流本科课程,凝聚而成了《数据结构原理与应用》《数据结构原理与应用实践教程》《数据结构原理与应用学习及实验指导》系列教材。站在工科教育最新起点上,定位教与学时空的契合点,关注读者的求索目标和心态需求,展现课程教与学的设计、思考与内容。经过编者近三年的坚持,终于完成了系列教材的最后一部。路虽远,行则将至;事虽难,做则必成。思考中摸索,实践中提升,传承中进步,希望本系列教材得到读者的支持,不断成长,为新工科人才培养做出一份贡献。 感谢周建美老师、丁红老师和朱玲玲老师为本书所做的工作: 周建美老师主要编写了第3章和第4章的习题解答,丁红老师主要编写了第7章和第8章的习题解答,朱玲玲老师主要编写了第2章和第5章的习题解答,徐慧老师编写了其余部分并进行统稿。4位编者共同完成了全稿的审阅校对工作。在本书的编写出版中得到清华大学出版社的大力支持,在此表示深深的谢意!特别感谢袁勤勇、杨枫等编辑对本系列教材的辛勤付出! 由于编者水平和时间有限,书中涉及的编程工作量大,难免有缺点和错误,恳请同行专家和读者批评指正,使本书在使用中不断精进。 编者2023年10月