描述
开 本: 大32开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787308185073
编辑推荐
刘小晶主编的《数据结构–C语言描述(融媒体版浙江省普通高校十三五新形态教材)》是浙江省普通高校“十三五”新形态教材,内容涵盖了*高等学校计算机科学与技术教学指导委员会关于“高等学校计算机科学与技术本科专业规范”中制定的课程体系中的核心知识,并在紧扣考研大纲的前提下剔除了一些难度较大的内容。
本书共9章,采用C语言作为描述算法的语言,涵盖基本数据结构、排序和查找等主要内容。前6章是以逻辑结构为主线系统介绍线性表、栈与队列、串与数组、树和图等各种基本数据结构的特点、存储方式、运算原理、实现方法以及它们在现实中的典型应用;后3章是从实现方法的角度系统介绍各类排序、查找的算法,注重对不同数据结构和算法的比较分析及其应用。
本书条理清楚、内容精炼、重点突出,做到循序渐进、深入浅出。强调算法实现方法的分析,通过丰富、典型的实例来强化知识的实际应用,并且融合了互联网技术,将课程的重点、难点知识的讲解全部录制成微视频,并通过二维码的形式嵌入其中,让读者通过观看视频亦可轻松学习,从而使学习更加高效,同时也较好地保证了教材内容的可更新性和可扩展性。
本书可作为普通高等院校“数据结构”课程教材,也可作为工程技术和自学数据结构人员的参考读物。
本书共9章,采用C语言作为描述算法的语言,涵盖基本数据结构、排序和查找等主要内容。前6章是以逻辑结构为主线系统介绍线性表、栈与队列、串与数组、树和图等各种基本数据结构的特点、存储方式、运算原理、实现方法以及它们在现实中的典型应用;后3章是从实现方法的角度系统介绍各类排序、查找的算法,注重对不同数据结构和算法的比较分析及其应用。
本书条理清楚、内容精炼、重点突出,做到循序渐进、深入浅出。强调算法实现方法的分析,通过丰富、典型的实例来强化知识的实际应用,并且融合了互联网技术,将课程的重点、难点知识的讲解全部录制成微视频,并通过二维码的形式嵌入其中,让读者通过观看视频亦可轻松学习,从而使学习更加高效,同时也较好地保证了教材内容的可更新性和可扩展性。
本书可作为普通高等院校“数据结构”课程教材,也可作为工程技术和自学数据结构人员的参考读物。
目 录
第1章 绪论
1.1 数据结构课程讨论的内容
1.1.1 求解问题举例
1.1.2 本课程讨论的内容
1.2 基本概念与术语
1.2.1 数据与数据结构
1.2.2 数据类型
1.2.3 抽象数据类型
1.3 算法
1.3.1 算法的基本概念
1.3.2 算法的描述
1.3.3 相关约定
1.4 算法分析
1.4.1 时间复杂度分析
1.4.2 空间复杂度分析
1.4.3 算法设计举例
小结
习题一
第2章 线性表
2.1 线性表的类型定义
2.1.1 线性表的基本概念
2.1.2 线性表的抽象数据类型描述
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.4 顺序表与链表的比较
2.5 线性表的应用举例
小结
习题二
第3章 栈与队列
3.1 栈
3.1.1 栈的概念
3.1.2 栈的抽象数据类型描述
3.1.3 顺序栈及其基本操作的实现
3.1.4 链栈及其基本操作的实现
3.1.5 栈的应用
3.2 队列
3.2.1 队列的概念
3.2.2 队列的抽象数据类型描述
3.2.3 顺序队列及其基本操作的实现
3.2.4 链队列及其基本操作的实现
3.2.5 其他队列
3.2.6 队列的应用
3.3 栈与队列的比较
3.4 栈与队列的综合应用举例
小结
习题三
第4章 串与数组
4.1 串的类型定义
4.1.1 串的基本概念
4.1.2 串的抽象数据类型描述
4.2 串的存储结构
4.2.1 定长顺序存储表示
4.2.2 堆分配存储表示
4.2.3 块链存储表示
4.3 串的模式匹配操作
4.3.1 Brute—Force模式匹配算法
4.3.2 KMP模式匹配算法
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.8 数组的应用举例
小结
习题四
第5章 树与二叉树
5.1 树的基本概念
5.2 二叉树
5.2.1 二叉树的基本概念
5.2.2 二叉树的性质
5.2.3 二叉树的存储结构
5.3 二叉树的遍历
5.3.1 二叉树的遍历方法及其实现
5.3.2 二叉树遍历算法的应用举例
5.3.3 建立二叉树
5.4 哈夫曼树及哈夫曼编码
5.4.1 哈夫曼树的基本概念
5.4.2 哈夫曼树和哈夫曼编码的构造方法
5.4.3 构造哈夫曼树和哈夫曼编码的算法
5.5 树与森林
5.5.1 树、森林与二叉树之间的转换
5.5.2 树的存储结构
5.5.3 树和森林的遍历
小结
习题五
第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 图的遍历方法的应用举例
6.4 小生成树
6.4.1 小生成树的基本概念
6.4.2 克鲁斯卡尔算法
6.4.3 普里姆算法
6.5 短路径
6.5.1 求某个顶点到其余各项点的短路径
6.5.2 求每一对顶点之间的短路径
6.6 拓扑排序
6.6.1 拓扑排序的基本概念
6.6.2 拓扑排序的实现
6.7 关键路径
小结
习题六
第7章 内排序
7.1 排序的基本概念
7.2 插入排序
7.2.1 直接插入排序
7.2.2 希尔排序
7.3 交换排序
7.3.1 冒泡排序
7.3.2 快速排序
7.4 选择排序
7.4.1 直接选择排序
7.4.2 树形选择排序
7.4.3 堆排序
7.5 归并排序
7.6 基数排序
7.6.1 多关键字排序
7.6.2 链式基数排序
小结
习题七
第8章 外排序
8.1 外排序方法
8.2 磁盘排序
8.2.1 磁盘信息的存取
8.2.2 多路平衡归并
8.2.3 置换一选择排序
8.2.4 归并树
小结
习题八
第9章 查找
9.1 查找的基本概念
9.2 静态表查找
9.2.1 顺序查找
9.2.2 二分查找
9.2.3 分块查找
9.3 动态表查找
9.3.1 二叉排序树
9.3.2 平衡二叉树
9.3.3 B树和B’树
9.3.4 红黑树简介
9.4 哈希表查找
9.4.1 哈希表的定义
9.4.2 常用的哈希函数
9.4.3 处理冲突的方法
9.4.4 哈希表的查找和性能分析
小结
习题九
附录参考答案
习题一
习题二
习题三
习题四
习题五
习题六
习题七
习题八
习题九
参考文献
1.1 数据结构课程讨论的内容
1.1.1 求解问题举例
1.1.2 本课程讨论的内容
1.2 基本概念与术语
1.2.1 数据与数据结构
1.2.2 数据类型
1.2.3 抽象数据类型
1.3 算法
1.3.1 算法的基本概念
1.3.2 算法的描述
1.3.3 相关约定
1.4 算法分析
1.4.1 时间复杂度分析
1.4.2 空间复杂度分析
1.4.3 算法设计举例
小结
习题一
第2章 线性表
2.1 线性表的类型定义
2.1.1 线性表的基本概念
2.1.2 线性表的抽象数据类型描述
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.4 顺序表与链表的比较
2.5 线性表的应用举例
小结
习题二
第3章 栈与队列
3.1 栈
3.1.1 栈的概念
3.1.2 栈的抽象数据类型描述
3.1.3 顺序栈及其基本操作的实现
3.1.4 链栈及其基本操作的实现
3.1.5 栈的应用
3.2 队列
3.2.1 队列的概念
3.2.2 队列的抽象数据类型描述
3.2.3 顺序队列及其基本操作的实现
3.2.4 链队列及其基本操作的实现
3.2.5 其他队列
3.2.6 队列的应用
3.3 栈与队列的比较
3.4 栈与队列的综合应用举例
小结
习题三
第4章 串与数组
4.1 串的类型定义
4.1.1 串的基本概念
4.1.2 串的抽象数据类型描述
4.2 串的存储结构
4.2.1 定长顺序存储表示
4.2.2 堆分配存储表示
4.2.3 块链存储表示
4.3 串的模式匹配操作
4.3.1 Brute—Force模式匹配算法
4.3.2 KMP模式匹配算法
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.8 数组的应用举例
小结
习题四
第5章 树与二叉树
5.1 树的基本概念
5.2 二叉树
5.2.1 二叉树的基本概念
5.2.2 二叉树的性质
5.2.3 二叉树的存储结构
5.3 二叉树的遍历
5.3.1 二叉树的遍历方法及其实现
5.3.2 二叉树遍历算法的应用举例
5.3.3 建立二叉树
5.4 哈夫曼树及哈夫曼编码
5.4.1 哈夫曼树的基本概念
5.4.2 哈夫曼树和哈夫曼编码的构造方法
5.4.3 构造哈夫曼树和哈夫曼编码的算法
5.5 树与森林
5.5.1 树、森林与二叉树之间的转换
5.5.2 树的存储结构
5.5.3 树和森林的遍历
小结
习题五
第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 图的遍历方法的应用举例
6.4 小生成树
6.4.1 小生成树的基本概念
6.4.2 克鲁斯卡尔算法
6.4.3 普里姆算法
6.5 短路径
6.5.1 求某个顶点到其余各项点的短路径
6.5.2 求每一对顶点之间的短路径
6.6 拓扑排序
6.6.1 拓扑排序的基本概念
6.6.2 拓扑排序的实现
6.7 关键路径
小结
习题六
第7章 内排序
7.1 排序的基本概念
7.2 插入排序
7.2.1 直接插入排序
7.2.2 希尔排序
7.3 交换排序
7.3.1 冒泡排序
7.3.2 快速排序
7.4 选择排序
7.4.1 直接选择排序
7.4.2 树形选择排序
7.4.3 堆排序
7.5 归并排序
7.6 基数排序
7.6.1 多关键字排序
7.6.2 链式基数排序
小结
习题七
第8章 外排序
8.1 外排序方法
8.2 磁盘排序
8.2.1 磁盘信息的存取
8.2.2 多路平衡归并
8.2.3 置换一选择排序
8.2.4 归并树
小结
习题八
第9章 查找
9.1 查找的基本概念
9.2 静态表查找
9.2.1 顺序查找
9.2.2 二分查找
9.2.3 分块查找
9.3 动态表查找
9.3.1 二叉排序树
9.3.2 平衡二叉树
9.3.3 B树和B’树
9.3.4 红黑树简介
9.4 哈希表查找
9.4.1 哈希表的定义
9.4.2 常用的哈希函数
9.4.3 处理冲突的方法
9.4.4 哈希表的查找和性能分析
小结
习题九
附录参考答案
习题一
习题二
习题三
习题四
习题五
习题六
习题七
习题八
习题九
参考文献
评论
还没有评论。