“数据结构”是计算机科学中重要的综合性专业基础课。伍一等编著的《数据结构应用教程》结合应用型本科学生的数据结构课程教学方法的改革,避免在学习程序设计的过程中陷入学习数据的逻辑和物理结构繁杂的相互关系上,而是将主要精力集中在所要解决的实际问题上,从具体问题出发,重点阐述如何利用数据结构解决这些问题。同时在课程的教学环节中,采用行动引导教学法进行全面深入的演练性讲解,带领学生进行实际演练。边讲边练,讲练结合,提供例题原程序代码,尽快提高学生对数据结构知识的实际应用能力。把数据结构的知识点融人实践环节中,并且在编排课程内容顺序方面,保持与数据结构课程体系内容相吻合,分散难点,降低难度,突出实用性,做到由浅人深、循序渐进,系统学习、广泛实践,有利于学生的接受。
伍一等编著的《数据结构应用教程》在保证完整的数据结构知识体系的基础上,用大量的案例帮助学生掌握数据结构设计的思想及实现方法,从解决实际问题的角度实现数据结构的设计。全书注重原理与实践的结合,配有大量实用的案例,应用性强。
《数据结构应用教程》共分9章,按照数据结构学习的三个阶段来编排。第一阶段学习数据结构的基本概念、线性数据关系的各种结构及基本操作、算法实现;第二阶段学习查找和排序的基本操作及算法;第三阶段学习树、图等较复杂的非线性数据结构。
《数据结构应用教程》的特点是将重点放在所要解决的问题上,把数据结构的设计方法融入实践环节中,并且在内容编排的顺序方面与数据结构课程体系相吻合,做到循序渐进,系统学习,广泛实践,此外还配有电子教案和程序源代码,有利于学生接受和掌握。本书采用C语言描述算法,所有程序均在TC 2.0下调试运行通过。
《数据结构应用教程》可作为高等院校应用型本科层次教材,还适用于高职高专层次各类学校使用,也可作为计算机岗位培训的教学用书。
第1章 数据结构概论
1.1 计算机信息管理系统的案例以及数据分析
1.2 数据结构的相关概念和术语
1.2.1 数据和数据元素
1.2.2 数据对象和数据类型
1.2.3 数据结构
1.3 算法和算法分析
1.3.1 算法
1.3.2 算法分析
1.3.3 算法度量
1.4 本章小结
习题
第2章 线性表及线性表的顺序存储
2.1 线性表的定义
2.1.1 线性表实例
2.1.2 线性表的定义
2.1.3 线性表的基本操作及基本运算的描述
2.2 线性表的顺序存储结构
2.2.1 顺序表
2.2.2 顺序表的描述
2.3 顺序表基本算法实现
2.3.1 线性表内容与线性表长度分别存储的算法实现
2.3.2 线性表内容与线性表长度存储在一个结构体中的算法实现
2.4 本章小结
习题
第3章 线性表的链式存储
3.1 链式存储结构
3.1.1 为什么要使用链式存储结构
3.1.2 单链表的数据定义
3.1.3 静态链表单链表的实现
3.1.4 动态链表的实现
3.2 单链表的基本算法实现
3.2.1 带表头结点的单链表的基本算法实现
3.2.2 带表头结点的单链表中插入运算的进一步讨论
3.2.3 带表头结点的单链表应用举例
3.3 链式存储的其他方法
3.3.1 链式存储结构循环链表
3.3.2 链式存储结构双链表
3.4 链式存储结构顺序表和链表的比较
3.5 本章小结
习题
第4章 栈和队列
4.1 栈
4.1.1 栈的实例
4.1.2 栈的定义及基本运算
4.1.3 顺序栈的表示
4.1.4 链栈的表示
4.1.5 栈的实现及应用
4.2 队列
4.2.1 队列的实例
4.2.2 队列的定义及基本运算
4.2.3 顺序队列以及循环队列的表示
4.2.4 循环队列的实现
4.2.5 链队列的表示
4.3 本章小结
习题
第5章 串、数组、广义表
5.1 串
5.1.1 串的基本概念
5.1.2 串的存储结构
5.1.3 串的基本运算
5.2 数组
5.2.1 数组的定义
5.2.2 数组的顺序存储方式
5.2.3 数组的C语言描述
5.3 广义表
5.4 本章小结
习题
第6章 查找
6.1 查找的基本概念
6.1.1 查找表和查找
6.1.2 查找表的数据结构表示
6.1.3 平均查找长度
6.2 顺序查找
6.3 二分查找
6.4 分块查找
6.5 散列表查找
6.5.1 散列表查找的基本思想和相关概念
6.5.2 散列函数的构造方法
6.5.3 处理冲突的方法
6.5.4 散列表查找的实现
6.5.5 散列表查找的分析
6.6 本章小结
习题
第7章 排序
7.1 排序的基本概念及存储结构
7.1.1 排序的基本概念
7.1.2 排序的存储结构
7.2 插入排序
7.2.1 直接插入排序
7.2.2 希尔排序
7.3 交换排序
7.3.1 冒泡排序
7.3.2 快速排序
7.4 选择排序
7.5 归并排序
7.6 本章小结
习题
第8章 树与二叉树
8.1 树
8.1.1 树的实例
8.1.2 树的相关概念
8.2 二叉树
8.2.1 二叉树的概念及基本运算
8.2.2 二叉树的顺序存储结构
8.2.3 二叉树的链式存储结构
8.2.4 二叉树遍历
8.2.5 二叉链表的构造
8.3 线索二叉树
8.3.1 线索二叉树的概念
8.3.2 线索二叉树的运算
8.4 树、森林与二叉树的转换及遍历
8.4.1 树、森林与二叉树的转换
8.4.2 树的存储结构
8.4.3 树的遍历
8.5 树的综合应用
8.5.1 哈夫曼树
8.5.2 哈夫曼编码
8.5.3 堆排序
8.5.4 案例实现
8.6 本章小结
习题
第9章 图
9.1 图的概念
9.1.1 图实例
9.1.2 图的定义
9.1.3 图的基本操作及基本运算的描述
9.2 图的存储结构
9.2.1 邻接矩阵
9.2.2 邻接表
9.3 图的遍历
9.3.1 深度优先搜索
9.3.2 广度优先搜索
9.4 生成树
9.5 最短路径
9.5.1 单源最短路径
9.5.2 所有顶点对之间的最短路径
9.6 拓扑排序
9.7 关键路径
9.8 本章小结
习题
参考文献