本书特色:\r\n\r\n\r\n 专题分析:针对教材重点难点做详细、透彻的分析。\r\n\r\n\r\n实践性强:尽可能用恰当的实例阐释理论,使读者既能够理解和掌握重要的概念,又能够从理论和实际应用的结合上加深认识。尽可能让学生不但会“学”,还要会去“做”。\r\n\r\n\r\n突出训练:通过实例、习题加强训练、加深认识。\r\n\r\n\r\n 本书从数据结构的学科内容出发,针对数据结构教材中的重点和难点,分15个专题进行深入细致的讲解和讨论。对于要解决的每个问题,从问题提出,到思路分析,再到具体数据结构的选择、算法描述和上机实现,循序渐进地给出了完整过程,非常符合学生的自学需要和获取知识的过程。书中所给的每个算法都在C或C++语言环境下运行通过,并且都是经过认真比较、筛选和设计出来的,具有一定的代表性,具有较好的实用性、有效性、结构性和可读性。通过仔细分析和阅读,对于提高软件开发和程序设计水平将大有裨益。书中给出的15个专题基本上是相互独立的,但有些是前后关联的,它们都具有统一的风格。读者可根据学习的需要在任何时刻任选某个或某些专题参考。 \r\n\r\n本书适合高等院校计算机及相关专业学生,以及参加计算机研究生入学考试的考生使用。 \r\n
\r\n
专题1 数据结构分类与抽象数据类型 \r\n\r\n 1. 1 数据结构分类 \r\n\r\n 1. 2 抽象数据类型 \r\n\r\n 专题2 集合结构与运算 \r\n\r\n 2. 1 集合结构的定义 \r\n\r\n 2. 2 集合结构的抽象数据类型 \r\n\r\n 2. 3 运算举例 \r\n\r\n 2. 4 集合结构的顺序存储结构和操作实现 \r\n\r\n 2. 5 集合结构的链接存储结构和操作实现 \r\n\r\n 专题3 线性表定义与运算 \r\n\r\n 3. 1 线性表的定义 \r\n\r\n 3. 2 线性表的抽象数据类型 \r\n\r\n 3. 3 线性表的顺序存储结构和操作实现 \r\n\r\n 3. 4 线性表的链接存储结构和操作实现 \r\n\r\n 3. 5 线性表的其他链接存储结构 \r\n\r\n 3. 6 线性表应用举例--多项式计算 \r\n\r\n 专题4 栈的定义与运算 \r\n\r\n 4. 1 栈的定义 \r\n\r\n 4. 2 栈的抽象数据类型 \r\n\r\n 4. 3 栈的顺序存储结构和操作实现 \r\n\r\n 4. 4 栈的链接存储结构和操作实现 \r\n\r\n 4. 5 栈的应用举例 \r\n\r\n 专题5 栈与递归 \r\n\r\n 专题6 队列定义与运算 \r\n\r\n 6. 1 队列的定义 \r\n\r\n 6. 2 队列的抽象数据类型 \r\n\r\n 6. 3 队列的顺序存储结构和操作实现 \r\n\r\n 6. 4 队列的链接存储结构和操作实现 \r\n\r\n 6. 5 使用队列的程序举例 \r\n\r\n 6. 6 队列应用举例 \r\n\r\n 专题7 树和二叉树的概念 \r\n\r\n 7. 1 树的概念 \r\n\r\n 7. 1. 1 树的定义 \r\n\r\n 7. 1. 2 树的表示 \r\n\r\n 7. 1. 3 树的基本术语 \r\n\r\n 7. 1. 4 树的性质 \r\n\r\n 7. 2 二叉树的概念 \r\n\r\n 7. 2. 1 二叉树的定义 \r\n\r\n 7. 2. 2 二叉树的性质 \r\n\r\n 7. 3 二叉树的抽象数据类型和存储结构 \r\n\r\n 7. 3. 1 二叉树的抽象数据类型 \r\n\r\n 7. 3. 2 二叉树的存储结构 \r\n\r\n 7. 4 树的抽象数据类型和存储结构 \r\n\r\n 7. 4. 1 树的抽象数据类型 \r\n\r\n 7. 4. 2 树的存储结构 \r\n\r\n 专题8 二叉树和树的运算 \r\n\r\n 8. 1 二叉树的遍历运算 \r\n\r\n 8. 2 二叉树的其他运算 \r\n\r\n 8. 3 树的运算 \r\n\r\n 专题9 常用二叉树 \r\n\r\n 9. 1 二叉搜索树 \r\n\r\n 9. 1. 1 二叉搜索树的定义 \r\n\r\n 9. 1. 2 二叉搜索树的运算 \r\n\r\n 9. 2 堆 \r\n\r\n 9. 2. 1 堆的定义 \r\n\r\n 9. 2. 2 堆的抽象数据类型 \r\n\r\n 9. 2. 3 堆的存储结构 \r\n\r\n 9. 2. 4 堆的运算 \r\n\r\n 9. 3 哈夫曼树 \r\n\r\n 9. 3. 1 基本术语 \r\n\r\n 9. 3. 2 构造哈夫曼树 \r\n\r\n 9. 3. 3 哈夫曼编码 \r\n\r\n 专题10 图的概念. 存储结构与遍历 \r\n\r\n 10. 1 图的概念 \r\n\r\n 10. 2 图的存储结构 \r\n\r\n 10. 2. 1 邻接矩阵 \r\n\r\n 10. 2. 2 邻接表 \r\n\r\n 10. 2. 3 边集数组 \r\n\r\n 10. 3 图的遍历 \r\n\r\n 10. 3. 1 深度优先搜索遍历 \r\n\r\n 10. 3. 2 广度优先搜索遍历 \r\n\r\n 10. 3. 3 非连通图的遍历 \r\n\r\n 专题11 图的生成树与最短路径 \r\n\r\n 11. 1 图的生成树 \r\n\r\n 11. 1. 1 普里姆算法求图的最小生成树 \r\n\r\n 11. 1. 2 克鲁斯卡尔算法求图的最小生成树 \r\n\r\n 11. 2 最短路径 \r\n\r\n 11. 2. 1 求图中一顶点到其余各顶点的最短路径 \r\n\r\n 11. 2. 2 求图中每对顶点之间的最短路径 \r\n\r\n 专题12 图的拓扑排序与关键路径 \r\n\r\n 12. 1 拓扑排序 \r\n\r\n 12. 2 关键路径 \r\n\r\n 专题13 查找 \r\n\r\n 13. 1 查找的基本概念 \r\n\r\n 13. 2 二分查找 \r\n\r\n 13. 3 索引查找 \r\n\r\n 13. 3. 1 索引的概念 \r\n\r\n 13. 3. 2 索引查找算法 \r\n\r\n 13. 3. 3 分块查找 \r\n\r\n 13. 4 散列查找 \r\n\r\n 13. 4. 1 散列的概念 \r\n\r\n 13. 4. 2 散列函数 \r\n\r\n 13. 4. 3 处理冲突的方法 \r\n\r\n 13. 4. 4 散列表的运算 \r\n\r\n 专题14 B树 \r\n\r\n 14. 1 B树的定义 \r\n\r\n 14. 2 B树的抽象数据类型 \r\n\r\n 14. 3 B树查找 \r\n\r\n 14. 4 B树的插入 \r\n\r\n 14. 5 B树的删除 \r\n\r\n 14. 6 B树的其他运算 \r\n\r\n 14. 7 B+树简介 \r\n\r\n 专题15 排序 \r\n\r\n 15. 1 堆排序 \r\n\r\n 15. 2 快速排序 \r\n\r\n 15. 3 归并排序 \r\n\r\n 15. 4 利用归并排序方法排序外存文件 \r\n\r\n 附录A 综合练习题 \r\n\r\n 附录B 综合练习题参考解答 \r\n\r\n 附录C 自测试卷及参考答案 \r\n\r\n 附录D 参考书目 \r\n
\r\n
数据结构是计算机等相关专业开设的一门基础必修课. 当今社会人们面对着各种各样的数据和信息, 这些数据和信息只有用计算机处理, 才能够做到快速. 及时和准确. 数据结构课程正是研究如何逻辑地组织数据, 如何把数据有效地存储到计算机中, 如何对数据进行快速和可靠的加工及处理, 从而获取有用的信息. 因此数据结构是数据处理的基础, 是所有计算机课程中的核心课程. 由于它涉及到高等数学. 离散数学. 概率统计. 计算机原理. 程序设计等各方面知识, 又由于它本身的理论性较强, 所以被公认为是一门比较难学的课程. 但只要努力学好它, 就能为学习后续的操作系统. 数据库. 软件工程等课程以及实际的软件开发打下坚实的基础.
现在社会上数据结构教材很多, 但缺乏适合广大学生自学参考的辅导教材. 本书正是根据广大学生的自学要求, 为了降低学习数据结构课程的难度而精心设计和编写的一本辅导教材.
本书从数据结构的学科内容出发, 针对一般数据结构教材中的重点和难点, 分15个专题(或称知识点)进行深入细致的讲解和讨论. 对于要解决的每个问题, 从问题提出, 到思路分析, 再到具体数据结构的选择. 算法描述和上机实现, 循序渐进地给出了完整过程, 非常符合在校学生的自学需要. 书中所给的每个算法都在C语言或C++语言环境下运行通过, 并且都是经过认真比较. 筛选和设计出来的, 具有一定的代表性, 具有较好的实用性. 有效性. 结构性和可读性, 通过仔细分析和阅读, 对于提高软件开发和程序设计水平将大有裨益. 书中给出的15个专题基本上是相互独立的, 但有些是前后关联的, 它们都具有统一的风格. 读者可根据学习的需要在任何时刻任选某个或某些专题参考. 当进入该课程的复习或考研阶段, 最好能够系统地浏览全部15个专题的内容, 以便提高自己的知识水平, 达到既定目标.
本书的附录A为综合练习题, 共分为7个练习单元, 每个单元大致包括单项选择. 填空. 运算. 算法分析. 算法设计等题型. 练习题型丰富, 内容充实. 通过做题训练, 举一反三, 能够巩固所学知识, 加深对内容的理解和认识. 附录B给出了附录A中全部习题的参考解答, 供读者独立做题后参考. 附录C是一份自测试卷, 要求在2个小时内做完, 以便检查自己的学习成绩.
本书内容安排由浅入深, 叙述条理清楚, 重难点分析透彻, 应用举例生动实用, 算法描述规范易读, 特别适合于自学. 本书是广大本. 专科学生学习数据结构课程所使用的辅导书, 亦可作为讲授此课程教师用作参考书.
为了给广大读者学习数据结构课程提供一本好的参考书, 作者尽了最大的努力, 但由于水平有限, 难免会出现一些缺陷, 敬请给予批评指正.
徐孝凯
2003年12月