数据结构与算法(第3版) / 普通高等教育计算机规划教材
作者: 张小莉
出版时间:2014年4月
出版社:机械工业出版社
- 机械工业出版社
- 9787111457954
- 171205
- 0045156390-2
- 平装
- 16开
- 2014年4月
- 工学
- 软件工程
- TP311.12
- 计算机及相关专业
- 本科
《数据结构与算法(第3版)》可作为高等院校计算机和信息类相关专业“数据结构”课程的教材也可作为高职高专同类专业的教学用书及各类工程技术人员的参考用书。
出版说明
前言
第1章 绪论
1.1 引言
1.1.1 学习数据结构的目的
1.1.2 “数据结构”课程的内容
1.2 数据结构的概念
1.2.1 基本概念和术语
1.2.2 抽象数据类型
1.3 算法
1.3.1 算法的特性
1.3.2 算法的描述
1.3.3 算法的性能分析与度量
1.4 递归
1.4.1 递归的概念
1.4.2 递归调用的实现原理
1.4.3 递归转换为非递归
1.4.4 递归应用举例
1.5 本章知识点小结
练习题
实验题
第2章 基本线性结构
2.1 线性表
2.1.1 问题提出
2.1.2 线性表的定义
2.1.3 线性表的基本运算
2.2 线性表的顺序存储与实现
2.2.1 顺序表
2.2.2 顺序表上基本运算的实现
2.2.3 顺序表应用举例
2.3 线性表的链式存储
2.3.1 单链表
2.3.2 单链表上基本运算的实现
2.3.3 循环链表
2.3.4 双向链表
2.3.5 链表应用举例
2.4 顺序表和链表的比较
2.5 堆栈
2.5.1 堆栈的定义
2.5.2 堆栈的存储及基本运算的实现
2.5.3 堆栈应用举例
2.6 队列
2.6.1 队列的定义
2.6.2 队列的存储及运算的实现
2.6.3 队列应用举例
2.7 本章知识点小结
练习题
实验题
第3章 线性结构的扩展
3.1 字符串
3.1.1 字符串的基本概念
3.1.2 顺序串
3.1.3 模式匹配
3.2 多维数组与特殊矩阵
3.2.1 多维数组
3.2.2 特殊矩阵
3.2.3 稀疏矩阵
3.3 广义表
3.3.1 广义表的基本概念
3.3.2 广义表的存储
3.4 本章知识点小结
练习题
实验题
第4章 树结构
4.1 引言
4.1.1 问题提出
4.1.2 相关概念
4.2 二叉树
4.2.1 二叉树的概念
4.2.2 二叉树的主要性质
4.2.3 二叉树的存储
4.2.4 二叉树基本运算的实现
4.3 二叉树的遍历
4.3.1 递归方法实现二叉树的遍历
4.3.2 非递归方法实现二叉树的遍历
4.3.3 队列方法实现二叉树的层次遍历
4.4 二叉树遍历的应用
4.4.1 构造二叉树的二叉链表存储
4.4.2 在二叉树中查找值为x的数据元素
4.4.3 统计给定二叉树中叶子结点的数目
4.4.4 由遍历序列恢复二叉树
4.5 线索二又树
4.5.1 线索二叉树的定义及结构
4.5.2 线索二叉树的构建
4.5.3 线索二叉树的遍历
4.6 最优二叉树
4.6.1 最优二叉树的概念
4.6.2 最优二叉树的构造
4.6.3 最优二叉树的应用——哈夫曼编码
4.7 树和森林
4.7.1 树的基本操作与表示
4.7.2 树的存储
4.7.3 树和森林与二叉树之间的转换
4.7.4 树和森林的遍历
4.7.5 树的应用
4.8 本章知识点小结
练习题
实验题
第5章 图结构
5.1 引言
5.1.1 问题提出
5.1.2 相关概念
5.1.3 图的基本操作
5.2 图的存储方法
5.2.1 邻接矩阵
5.2.2 邻接表
5.2.3 十字链表
5.2.4 邻接多重表
5.3 图的遍历
5.3.1 深度优先搜索
5.3.2 广度优先搜索
5.3.3 应用图的遍历判定图的连通性
5.4 生成树与最小生成树
5.4.1 生成树和生成森林
5.4.2 最小生成树
5.4.3 构造最小生成树的Prim算法
5.4.4 构造最小生成树的Kruskal算法
5.5 最短路径
5.5.1 单源点最短路径——Dijkstra算法
5.5.2 每一对顶点之间的最短路径——Floyd算法
5.6 拓扑排序
5.6.1 有向无环图的概念
5.6.2 AOV网上的拓扑排序
5.7 关键路径
5.7.1 AOE网上的关键路径
5.7.2 关键路径的确定
5.8 本章知识点小结
练习题
实验题
第6章 查找
6.1 引言
6.1.1 问题提出
6.1.2 相关概念
6.2 线性表查找
6.2.1 顺序查找
6.2.2 在顺序存储的有序表上查找
6.3 树表查找
6.3.1 二叉排序树
6.3.2 平衡二叉树
6.3.3 B树和B+树
6.4 散列表查找
6.4.1 散列表
6.4.2 常用的散列函数
6.4.3 处理冲突的方法及散列表的构造
6.4.4 散列表上的查找
6.4.5 散列表上的删除
6.5 本章知识点小结
练习题
实验题
第7章 排序
7.1 引言
7.1.1 问题提出
7.1.2 相关概念
7.2 插入排序
7.2.1 直接插入排序
7.2.2 折半插入排序
7.2.3 希尔排序
7.3 交换排序
7.3.1 冒泡排序
7.3.2 快速排序
7.4 选择排序
7.4.1 简单选择排序
7.4.2 树型选择排序
7.4.3 堆排序
7.5 归并排序
7.5.1 两个有序表的合并
7.5.2 二路归并排序的迭代算法
7.5.3 二路归并排序的递归算法
7.6 基数排序
7.6.1 多关键码排序
7.6.2 链式基数排序
7.7 排序方法比较
7.8 本章知识点小结
练习题
实验题
第8章 扩展应用举例
8.1 求最大子段和
8.1.1 问题描述
8.1.2 问题分析与解决
8.2 表达式树的构造
8.2.1 问题描述
8.2.2 问题分析与解决
8.3 由等价关系求划分
8.3.1 问题描述
8.3.2 问题分析与解决
8.4 本章知识点小结
练习题
实验题
附录
附录A 实验要求
附录B 模拟试卷
模拟试卷一(本科水平)
模拟试卷二(本科水平)
模拟试卷三(研究生入学考试水平)
模拟试卷四(研究生入学考试水平)
参考文献