书籍详情
数据结构
作者:江家宝,程勇 主编
出版社:科学出版社
出版时间:2011-05-01
ISBN:9787030306609
定价:¥38.00
购买这本书可以去
内容简介
《数据结构》由浅入深,以浅显易懂的文字与图表对各种数据结构和算法的设计进行分析,对问题的解决方法做了详尽的剖析,并且辅之以相应的C程序代码,从而增进读者对数据结构的理解与掌握。《数据结构》共分9章,内容包括绪论、线性表、栈和队列、串、数组与广义表、树、图、查找、内部排序。《数据结构》以“基础理论—上机实训—应试加油站”为主线进行编写,每一章都设置了实训模块和考研真题解析及大量的习题。《数据结构》结构清晰、易教易学、实例丰富、可操作性强、学以致用、注重能力,对在学习过程中常见的重点和难点进行立体、详细的讲解,以帮助读者更好地掌握数据结构的基本知识。《数据结构》可以作为高等院校计算机专业及相关专业的教材,也适合数据结构的初学者研读,还适合考研复习之用。
作者简介
暂缺《数据结构》作者简介
目录
前言
第1章 绪论
1.1 数据结构的研究内容
1.2 数据结构的基本概念和相关术语
1.3 抽象数据类型及其实现
l.3.1 数据类型
1.3.2 抽象数据类型
1.4 算法与算法分析
1.4.1 算法的描述
1.4.2 算法的时间复杂度分析
1.4.3 算法的空间复杂度分析
1.5 小结
1.6 应试加油站
1.6.1 重点提示
1.6.2 考研真题解析
1.7 习题
第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.3.5 循环双链表
2.4 上机实训
实训一:顺序表的操作
实训二:单链表链接
实训三:循环链表链接
实训四:循环双链表操作
2.5 小结
2.6 应试加油站
2.6.1 重点提示
2.6.2 考研真题解析
2.7 习题
第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.3 队列
3.3.1 什么是队列
3.3.2 队列的抽象数据类型
3.3.3 队列的顺序存储结构与实现
3.3.4 队列的链式存储结构与实现
3.4 队列的应用
3.5 上机实训
实训一:利用栈寻找迷宫路径
实训二:利用队列模拟病人看病
3.6 小结
3.7 应试加油站
3.7.1 重点提示
3.7.2 考研真题解析
3.8 习题
第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 简单的模式匹配算法——BF算法
4.3.2 改进的模式匹配算法——KMP算法
4.4 串的应用
4.5 上机实训
实训一:显示多位数数字字符
实训二:块链的基本操作
实训三:统计串中最长的重复子串
4.6 小结
4.7 应试加油站
4.7.1 重点提示
4.7.2 考研真题解析
4.8 习题
第5章 数组与广义表
5.1 数组的定义
5.1.1 什么是数组
5.1.2 数组的抽象数据类型
5.2 数组的顺序存储结构与实现
5.2.1 数组的顺序存储结构
5.2.2 基本操作的实现
5.3 矩阵的压缩存储
5.3.1 特殊矩阵
5.3.2 稀疏矩阵
5.4 广义表抽象数据类型
5.4.1 广义表的定义
5.4.2 广义表的抽象数据类型
5.4.3 广义表的存储结构
5.4.4 广义表的应用
5.5 上机实训
实训一:两个矩阵的相乘操作
实训二:用三元组实现两个矩阵的乘法
实训三:广义表的基本运算
5.6 小结
5.7 应试加油站
5.7.1 重点提示
5.7.2 考研真题解析
5.8 习题
第6章 树
6.1 树的基本概念和相关术语
6.1.1 树的定义
6.1.2 基本术语
6.2 二叉树
6.2.1 二叉树的定义
6.2.2 二叉树的性质
6.2.3 二叉树的抽象数据类型
6.2.4 二叉树的存储结构
6.3 遍历二叉树
6.3.1 遍历的定义
6.3.2 遍历算法
6.4 线索二叉树
6.5 树和森林
6.5.1 树的存储结构
6.5.2 森林与二叉树的转换
6.5.3 树和森林的遍历
6.6 哈夫曼树及其应用
6.6.1 哈夫曼树的概念
6.6.2 哈夫曼树的构造算法
6.6.3 哈夫曼编码
6.7 上机实训
实训一:运算二叉树
实训二:统计二叉树结点的个数
实训三:统计二叉树的宽度
实训四:按层遍历二叉树
6.8 小结
6.9 应试加油站
6.9.1 重点提示
6.9.2 考研真题解析
6.10 习题
第7章 图
7.1 图的定义和相关术语
7.1.1 图的定义
7.1.2 图的基本术语
7.1.3 图的抽象数据类型
7.2 图的存储结构
7.2.1 邻接矩阵表示法
7.2.2 邻接表表示法
7.2.3 十字链表表示法
7.2.4 多重邻接表表示法
7.3 图的遍历
7.3.1 深度优先遍历
7.3.2 广度优先遍历
7.4 最小生成树
7.4.1 生成树的概念
7.4.2 最小生成树
7.4.3 Prim算法
7.5 最短路径
7.5.1 单源点最短路径问题
7.5.2 所有顶点对最短路径问题
7.6 拓扑排序
7.7 关键路径
7.8 上机实训
实训一:遍历算法
实训二:Prim算法
7.9 小结
7.10 应试加油站
7.10.1 重点提示
7.10.2 考研真题解析
7.11 习题
第8章 查找
8.1 查找的基本概念
8.2 静态查找表
8.2.1 顺序表的查找
8.2.2 有序表的查找
8.2.3 索引顺序表的查找
8.2.4 静态树表的查找
8.3 动态查找表
8.3.1 二叉排序树
8.3.2 平衡二叉树
8.3.3 B-和B+树
8.3.4 键树
8.4 哈希表
8.4.1 哈希表的概念
8.4.2 哈希表的构造方法
8.4.3 处理冲突的方法
8.4.4 哈希表的查找及分析
8.5 上机实训
实训一:二叉排序树的查找
实训二:哈希查找
8.6 小结
8.7 应试加油站
8.7.1 重点提示
8.7.2 考研真题解析
8.8 习题
第9章 内部排序
9.1 插入排序
9.1.1 直接插入排序
9.1.2 希尔排序
9.2 交换排序
9.2.1 冒泡排序
9.2.2 快速排序
9.3 选择排序
9.3.1 简单选择排序
9.3.2 堆排序
9.4 归并排序
9.5 基数排序
9.6 各种内排序方法的比较
9.7 上机实训
实训一:双向冒泡排序
实训二:数组归并排序
实训三:计数排序
实训四:字符串排序
实训五:最高位关键字排序MSD
9.8 小结
9.9 应试加油站
9.9.1 重点提示
9.9.2 考研真题解析
9.10 习题
参考文献
第1章 绪论
1.1 数据结构的研究内容
1.2 数据结构的基本概念和相关术语
1.3 抽象数据类型及其实现
l.3.1 数据类型
1.3.2 抽象数据类型
1.4 算法与算法分析
1.4.1 算法的描述
1.4.2 算法的时间复杂度分析
1.4.3 算法的空间复杂度分析
1.5 小结
1.6 应试加油站
1.6.1 重点提示
1.6.2 考研真题解析
1.7 习题
第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.3.5 循环双链表
2.4 上机实训
实训一:顺序表的操作
实训二:单链表链接
实训三:循环链表链接
实训四:循环双链表操作
2.5 小结
2.6 应试加油站
2.6.1 重点提示
2.6.2 考研真题解析
2.7 习题
第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.3 队列
3.3.1 什么是队列
3.3.2 队列的抽象数据类型
3.3.3 队列的顺序存储结构与实现
3.3.4 队列的链式存储结构与实现
3.4 队列的应用
3.5 上机实训
实训一:利用栈寻找迷宫路径
实训二:利用队列模拟病人看病
3.6 小结
3.7 应试加油站
3.7.1 重点提示
3.7.2 考研真题解析
3.8 习题
第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 简单的模式匹配算法——BF算法
4.3.2 改进的模式匹配算法——KMP算法
4.4 串的应用
4.5 上机实训
实训一:显示多位数数字字符
实训二:块链的基本操作
实训三:统计串中最长的重复子串
4.6 小结
4.7 应试加油站
4.7.1 重点提示
4.7.2 考研真题解析
4.8 习题
第5章 数组与广义表
5.1 数组的定义
5.1.1 什么是数组
5.1.2 数组的抽象数据类型
5.2 数组的顺序存储结构与实现
5.2.1 数组的顺序存储结构
5.2.2 基本操作的实现
5.3 矩阵的压缩存储
5.3.1 特殊矩阵
5.3.2 稀疏矩阵
5.4 广义表抽象数据类型
5.4.1 广义表的定义
5.4.2 广义表的抽象数据类型
5.4.3 广义表的存储结构
5.4.4 广义表的应用
5.5 上机实训
实训一:两个矩阵的相乘操作
实训二:用三元组实现两个矩阵的乘法
实训三:广义表的基本运算
5.6 小结
5.7 应试加油站
5.7.1 重点提示
5.7.2 考研真题解析
5.8 习题
第6章 树
6.1 树的基本概念和相关术语
6.1.1 树的定义
6.1.2 基本术语
6.2 二叉树
6.2.1 二叉树的定义
6.2.2 二叉树的性质
6.2.3 二叉树的抽象数据类型
6.2.4 二叉树的存储结构
6.3 遍历二叉树
6.3.1 遍历的定义
6.3.2 遍历算法
6.4 线索二叉树
6.5 树和森林
6.5.1 树的存储结构
6.5.2 森林与二叉树的转换
6.5.3 树和森林的遍历
6.6 哈夫曼树及其应用
6.6.1 哈夫曼树的概念
6.6.2 哈夫曼树的构造算法
6.6.3 哈夫曼编码
6.7 上机实训
实训一:运算二叉树
实训二:统计二叉树结点的个数
实训三:统计二叉树的宽度
实训四:按层遍历二叉树
6.8 小结
6.9 应试加油站
6.9.1 重点提示
6.9.2 考研真题解析
6.10 习题
第7章 图
7.1 图的定义和相关术语
7.1.1 图的定义
7.1.2 图的基本术语
7.1.3 图的抽象数据类型
7.2 图的存储结构
7.2.1 邻接矩阵表示法
7.2.2 邻接表表示法
7.2.3 十字链表表示法
7.2.4 多重邻接表表示法
7.3 图的遍历
7.3.1 深度优先遍历
7.3.2 广度优先遍历
7.4 最小生成树
7.4.1 生成树的概念
7.4.2 最小生成树
7.4.3 Prim算法
7.5 最短路径
7.5.1 单源点最短路径问题
7.5.2 所有顶点对最短路径问题
7.6 拓扑排序
7.7 关键路径
7.8 上机实训
实训一:遍历算法
实训二:Prim算法
7.9 小结
7.10 应试加油站
7.10.1 重点提示
7.10.2 考研真题解析
7.11 习题
第8章 查找
8.1 查找的基本概念
8.2 静态查找表
8.2.1 顺序表的查找
8.2.2 有序表的查找
8.2.3 索引顺序表的查找
8.2.4 静态树表的查找
8.3 动态查找表
8.3.1 二叉排序树
8.3.2 平衡二叉树
8.3.3 B-和B+树
8.3.4 键树
8.4 哈希表
8.4.1 哈希表的概念
8.4.2 哈希表的构造方法
8.4.3 处理冲突的方法
8.4.4 哈希表的查找及分析
8.5 上机实训
实训一:二叉排序树的查找
实训二:哈希查找
8.6 小结
8.7 应试加油站
8.7.1 重点提示
8.7.2 考研真题解析
8.8 习题
第9章 内部排序
9.1 插入排序
9.1.1 直接插入排序
9.1.2 希尔排序
9.2 交换排序
9.2.1 冒泡排序
9.2.2 快速排序
9.3 选择排序
9.3.1 简单选择排序
9.3.2 堆排序
9.4 归并排序
9.5 基数排序
9.6 各种内排序方法的比较
9.7 上机实训
实训一:双向冒泡排序
实训二:数组归并排序
实训三:计数排序
实训四:字符串排序
实训五:最高位关键字排序MSD
9.8 小结
9.9 应试加油站
9.9.1 重点提示
9.9.2 考研真题解析
9.10 习题
参考文献
猜您喜欢