《普通高等教育计算机类系列教材数据结构与算法(普通高等教育计算机类系列教材)》主编:邓丹君 祁文青 | PDF下载|ePub下载
普通高等教育计算机类系列教材数据结构与算法(普通高等教育计算机类系列教材) 版权信息
- 出版社:机械工业出版社
- 出版时间:2020-10-01
- ISBN:9787111659839
- 条形码:9787111659839 ; 978-7-111-65983-9
普通高等教育计算机类系列教材数据结构与算法(普通高等教育计算机类系列教材) 内容简介
本教材详细讲述了数据结构的含义,以及线性结构、树结构和图结构中的数据描述、存储、处理的方法,并对查找和排序的相关算法做了详细探讨。 本教材包括3大部分,共8章。部分:数据结构的基本概念(章);第2部分:基本的数据结构,包括线性结构――线性表、栈和队列、串、数组与广义表(第2~4章),非线性结构――树、图(第5、6章);第3部分:基本技术,包括查找技术与排序技术(第7、8章)。本书内容采用“案例导引”→“知识讲解”→“案例实现”的框架结构,通过选用应用性强且难度适中的案例,用通俗易懂的语言,由浅入深,带你走进数据描述、数据存储和处理的数据结构世界,书中还讲述了常见的算法,比较了各类算法在效率上的优劣,为后期其他课程的学习打下基础。 本教材可作为普通高等院校计算机和信息类相关专业“数据结构与算法”课程的教材。 本教材配有以下教学资源:电子课件、源代码、演示示例、教学大纲、习题库及其答案等,欢迎选用本书作教材的教师登录www.cmpedu.com注册下载,或发邮件至jinacmp@163.com索取。
普通高等教育计算机类系列教材数据结构与算法(普通高等教育计算机类系列教材) 目录
前言
第1章绪论
1.1数据结构的研究对象
1.1.1数据的逻辑结构
1.1.2数据的存储结构
1.1.3数据的运算
1.2算法和算法分析
1.2.1算法及其特征
1.2.2算法描述
1.2.3算法分析
本章总结
习题1
第2章线性表
2.1线性表的概念及运算
2.1.1案例导引
2.1.2线性表的逻辑结构
2.1.3线性表的基本运算
2.2线性表的顺序存储和实现
2.2.1案例导引
2.2.2顺序表的存储结构
2.2.3顺序表基本运算的实现
2.2.4案例实现――学生成绩表的顺序存储
2.2.5顺序表的特点
2.3线性表的链式存储和实现
2.3.1案例导引
2.3.2单链表的存储结构
2.3.3单链表基本运算的实现
2.3.4案例实现――学生成绩表的链式存储
2.3.5循环链表
2.3.6双向链表
本章总结
习题2
第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.2.4案例实现――舞伴问题
本章总结
习题3
数据结构与算法目录第4章串、数组、矩阵及广义表
4.1串
4.1.1案例导引
4.1.2串的基本概念
4.1.3串的基本运算
4.1.4串的存储结构
4.1.5串的模式匹配
4.1.6案例实现――串的模式匹配
4.2矩阵的压缩存储
4.2.1案例导引
4.2.2数组
4.2.3特殊矩阵
4.2.4稀疏矩阵
4.2.5案例实现――矩阵的压缩存储
4.3广义表
4.3.1案例导引
4.3.2广义表的定义
4.3.3广义表的运算
4.3.4广义表的存储
4.3.5广义表的基本算法
4.3.6案例实现――广义表的基本操作
本章总结
习题4
第5章树和二叉树
5.1树的基本术语
5.2二叉树
5.2.1案例导引
5.2.2二叉树的定义
5.2.3二叉树的性质
5.2.4二叉树的存储结构
5.2.5二叉树的基本操作
5.2.6遍历二叉树
5.2.7线索二叉树
5.2.8案例实现――二叉树的基本操作
5.3树和森林
5.3.1案例导引
5.3.2树的存储结构
5.3.3树(森林)与二叉树的相互转换
5.3.4树和森林的遍历
5.3.5案例实现――树的基本操作
5.4哈夫曼树及其应用
5.4.1案例导引
5.4.2哈夫曼树的定义
5.4.3哈夫曼树的构造
5.4.4哈夫曼树在编码中的应用
5.4.5案例实现――哈夫曼编码
本章总结
习题5
第6章图
6.1图的概念
6.1.1图的基本概念
6.1.2图的基本术语
6.1.3图的基本操作
6.2图的存储结构
6.2.1案例导引
6.2.2图的邻接矩阵表示法
6.2.3邻接矩阵表示的图相关算法
6.2.4案例实现――图的邻接矩阵存储表示
6.2.5图的邻接表表示法
6.2.6邻接表表示的图相关算法
6.2.7案例实现――图的邻接表存储表示
6.3图的遍历
6.3.1案例导引
6.3.2深度优先遍历
6.3.3广度优先遍历
6.3.4案例实现――图的遍历
6.4*小生成树
6.4.1案例导引
6.4.2Prim算法
6.4.3案例实现――Prim算法
6.4.4Kruskal算法
6.5*短路径
6.5.1案例导引
6.5.2单源点*短路径
6.5.3案例实现――Dijkstra算法
6.5.4每对顶点之间的*短路径
6.6拓扑排序
6.6.1案例导引
6.6.2拓扑排序的概念
6.6.3拓扑排序的算法
6.6.4案例实现――拓扑排序
6.7关键路径
6.7.1案例导引
6.7.2关键路径的概念
6.7.3关键路径算法
6.7.4案例实现�补丶�路径
本章总结
习题6
第7章查找
7.1静态查找表
7.1.1案例导引
7.1.2顺序查找
7.1.3有序表的二分查找
7.1.4索引顺序表的查找
7.1.5案例实现――顺序查找
7.2动态查找表
7.2.1案例导引
7.2.2二叉排序树
7.2.3平衡二叉树
7.2.4B�彩�
7.2.5案例实现――二叉排序树
7.3哈希表
7.3.1案例导引
7.3.2哈希表的概念
7.3.3哈希函数的构造方法
7.3.4处理冲突的方法
7.3.5哈希表的运算
7.3.6案例实现――哈希表
本章总结
习题7
第8章排序
8.1排序的基本概念
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.3.3快速排序
8.3.4案例实现――快速排序
8.4选择排序
8.4.1案例导引
8.4.2直接选择排序
8.4.3堆排序
8.4.4案例实现――堆排序
8.5归并排序
8.5.1案例导引
8.5.2归并排序的过程
8.5.3案例实现――归并排序
8.6基数排序
8.6.1案例导引
8.6.2多关键字的排序
8.6.3链式基数排序
8.6.4案例实现――基数排序
本章总结
习题8
参考文献
第1章绪论
1.1数据结构的研究对象
1.1.1数据的逻辑结构
1.1.2数据的存储结构
1.1.3数据的运算
1.2算法和算法分析
1.2.1算法及其特征
1.2.2算法描述
1.2.3算法分析
本章总结
习题1
第2章线性表
2.1线性表的概念及运算
2.1.1案例导引
2.1.2线性表的逻辑结构
2.1.3线性表的基本运算
2.2线性表的顺序存储和实现
2.2.1案例导引
2.2.2顺序表的存储结构
2.2.3顺序表基本运算的实现
2.2.4案例实现――学生成绩表的顺序存储
2.2.5顺序表的特点
2.3线性表的链式存储和实现
2.3.1案例导引
2.3.2单链表的存储结构
2.3.3单链表基本运算的实现
2.3.4案例实现――学生成绩表的链式存储
2.3.5循环链表
2.3.6双向链表
本章总结
习题2
第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.2.4案例实现――舞伴问题
本章总结
习题3
数据结构与算法目录第4章串、数组、矩阵及广义表
4.1串
4.1.1案例导引
4.1.2串的基本概念
4.1.3串的基本运算
4.1.4串的存储结构
4.1.5串的模式匹配
4.1.6案例实现――串的模式匹配
4.2矩阵的压缩存储
4.2.1案例导引
4.2.2数组
4.2.3特殊矩阵
4.2.4稀疏矩阵
4.2.5案例实现――矩阵的压缩存储
4.3广义表
4.3.1案例导引
4.3.2广义表的定义
4.3.3广义表的运算
4.3.4广义表的存储
4.3.5广义表的基本算法
4.3.6案例实现――广义表的基本操作
本章总结
习题4
第5章树和二叉树
5.1树的基本术语
5.2二叉树
5.2.1案例导引
5.2.2二叉树的定义
5.2.3二叉树的性质
5.2.4二叉树的存储结构
5.2.5二叉树的基本操作
5.2.6遍历二叉树
5.2.7线索二叉树
5.2.8案例实现――二叉树的基本操作
5.3树和森林
5.3.1案例导引
5.3.2树的存储结构
5.3.3树(森林)与二叉树的相互转换
5.3.4树和森林的遍历
5.3.5案例实现――树的基本操作
5.4哈夫曼树及其应用
5.4.1案例导引
5.4.2哈夫曼树的定义
5.4.3哈夫曼树的构造
5.4.4哈夫曼树在编码中的应用
5.4.5案例实现――哈夫曼编码
本章总结
习题5
第6章图
6.1图的概念
6.1.1图的基本概念
6.1.2图的基本术语
6.1.3图的基本操作
6.2图的存储结构
6.2.1案例导引
6.2.2图的邻接矩阵表示法
6.2.3邻接矩阵表示的图相关算法
6.2.4案例实现――图的邻接矩阵存储表示
6.2.5图的邻接表表示法
6.2.6邻接表表示的图相关算法
6.2.7案例实现――图的邻接表存储表示
6.3图的遍历
6.3.1案例导引
6.3.2深度优先遍历
6.3.3广度优先遍历
6.3.4案例实现――图的遍历
6.4*小生成树
6.4.1案例导引
6.4.2Prim算法
6.4.3案例实现――Prim算法
6.4.4Kruskal算法
6.5*短路径
6.5.1案例导引
6.5.2单源点*短路径
6.5.3案例实现――Dijkstra算法
6.5.4每对顶点之间的*短路径
6.6拓扑排序
6.6.1案例导引
6.6.2拓扑排序的概念
6.6.3拓扑排序的算法
6.6.4案例实现――拓扑排序
6.7关键路径
6.7.1案例导引
6.7.2关键路径的概念
6.7.3关键路径算法
6.7.4案例实现�补丶�路径
本章总结
习题6
第7章查找
7.1静态查找表
7.1.1案例导引
7.1.2顺序查找
7.1.3有序表的二分查找
7.1.4索引顺序表的查找
7.1.5案例实现――顺序查找
7.2动态查找表
7.2.1案例导引
7.2.2二叉排序树
7.2.3平衡二叉树
7.2.4B�彩�
7.2.5案例实现――二叉排序树
7.3哈希表
7.3.1案例导引
7.3.2哈希表的概念
7.3.3哈希函数的构造方法
7.3.4处理冲突的方法
7.3.5哈希表的运算
7.3.6案例实现――哈希表
本章总结
习题7
第8章排序
8.1排序的基本概念
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.3.3快速排序
8.3.4案例实现――快速排序
8.4选择排序
8.4.1案例导引
8.4.2直接选择排序
8.4.3堆排序
8.4.4案例实现――堆排序
8.5归并排序
8.5.1案例导引
8.5.2归并排序的过程
8.5.3案例实现――归并排序
8.6基数排序
8.6.1案例导引
8.6.2多关键字的排序
8.6.3链式基数排序
8.6.4案例实现――基数排序
本章总结
习题8
参考文献