本书是《数据结构与算法教程》的配套教材,全书共分为两个部分,第一部分主要讨论数据结构与算法的基本概念、基本原理、基本操作和典型应用,分别以选择题、填空题、判断题、算法分析题和综合题等各种题型进行汇编,并提供分析过程与结果说明。同时,为了帮助学生进行系统复习,提供了4套模拟试卷并提供参考答案和评分标准,另外提供6套期末冲刺试卷供学生进行强化训练。第二部分为实验大纲和实验指导,针对各章的知识点,分别设计了对应的实验内容,希望学生通过课程实验对理论知识有更深的理解,同时提高算法的分析和设计能力。
本书可作为高等学校计算机及相关专业的辅助教材,也可作为信息系统开发、管理人员及计算机软件开发人员的参考书。
数据结构与算法是一门实践性很强,同时又十分抽象的计算机学科基础课程,本课程所讨论的各种基本数据结构、基本操作和各种数据结构的典型应用算法均需要通过相关的习题和实验环节的训练才能系统理解、掌握和提高。为此,专门针对课程理论教材编写了配套的习题解析和实验指导。
为了贯彻CDIO模式的全新教学理念,本书共分为两个部分: 第一部分为习题解析,通过对课程中的各种基本概念、基本原理、基本操作和基本算法设计技术问题进行系统归纳、汇总、分析和综合,参考了大量的习题资料,整理成册,按照对应章节的顺序进行编排,采用选择题、填空题、判断题、算法分析题和综合题等题型,将本课程的各个知识点、重点、难点问题包含其中,并提供全部问题的参考答案和部分问题的分析与设计的相关说明,以期通过习题训练,帮助学生全面系统地掌握本课程的全部知识。同时,提供了4套模拟试卷及参考答案和评分标准,以便学生进行自我检查。并另外提供6套冲刺试卷,供学生进行期末强化训练,巩固课程学习效果。第二部分为实验指导,通过对多年本课程实验教学的经验和成果进行归纳、整理和完善,将本课程所涵盖的各种数据结构、存储表示方法、基本操作函数,以及典型应用算法问题等作为各章的实验内容,以阅读算法、完善算法和算法设计等形式进行上机操作训练,以期通过实验帮助学生理论联系实际,将课程中的抽象概念和实际存储状态相关联,真正理解和掌握本课程的知识和技术。
本书所有关于基本数据结构的定义和算法描述均采用标准的C语言格式给出,所有实验的算法代码均在TurboC、VisualC++6.0、Codeblocks等开发环境中调试通过并运行正确,读者可根据各自的要求和习惯等选择使用对应的工具。
本书可作为高等学校计算机类各专业学生的辅助实验教材或参考书,特别适合应用技术型本科层次的计算机类各专业使用,也可供从事计算机应用相关工作的人参考。
参加编写的有邹永林(1.2~1.5节,2.1节,2.2节中实验8和实验9)、周蓓(1.1节,2.2节中实验6和实验7)、唐晓阳(2.2节中实验1~实验5),周思林、朱奭、沈健、洪蕾等参与讨论和算法的设计与调试。邹永林完成本书的统稿工作。
由于作者水平有限,缺点和欠妥之处在所难免,恳请读者指正。
编者
2014年10月
第一部分习题汇编、解题分析与模拟训练/1
1.1习题汇编/1
1.1.1绪论/1
1.1.2基本线性结构——线性表/3
1.1.3限定性线性结构——栈和队列/5
1.1.4特殊线性结构——串/8
1.1.5扩展线性结构——数组和广义表/9
1.1.6树形结构——树和二叉树/11
1.1.7图形结构——图/15
1.1.8常用算法Ⅰ——查找/25
1.1.9常用算法Ⅱ——排序/32
1.2参考答案与解题分析/38
1.2.1绪论/38
1.2.2基本线性结构——线性表/39
1.2.3限定性线性结构——栈和队列/45
1.2.4特殊线性结构——串/48
1.2.5扩展线性结构——数组和广义表/50
1.2.6树形结构——树和二叉树/52
1.2.7图形结构——图/60
1.2.8常用算法Ⅰ——查找/74
1.2.9常用算法Ⅱ——排序/83
1.3模拟试卷/92
试卷1/92
试卷2/96
试卷3/100
试卷4/104
1.4模拟试卷参考答案/107
试卷1/107
试卷2/109
试卷3/111试卷4/113
1.5冲刺训练/115
冲刺试卷1/115
冲刺试卷2/119
冲刺试卷3/123
冲刺试卷4/127
冲刺试卷5/131
冲刺试卷6/135第二部分实验大纲和实验指导/139
2.1实验教学大纲/139
2.2实验指导/140
实验1预备实验/140
实验2顺序表与链表/144
实验3栈和队列/151
实验4串/158
实验5数组和特殊矩阵/163
实验6二叉树/166
实验7图/178
实验8查找/189
实验9排序/196