描述
开 本: 大32开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787302320050丛书名: 21世纪高等学校规划教材·计算机科学与技术
内容简介
“数据结构”课程是计算机程序设计的重要理论基础,它不仅是计算机专业重要的专业基础课程与核心课程,同时也是信息管理专业以及数学统计专业的主要课程。
全书共分为9章。第1章绪论,以非数值计算的程序设计解决实际问题为例,说明什么是数据结构,数据结构的研究内容以及相关概念,最后讨论了算法分析;第2~7章分别论述了线性表、栈和队列、串及模式匹配、数组和广义表、树与二叉树、图等基本数据类型以及相关的数据操作。对于典型操作,书中给出了详尽的算法分析过程和算法描述;第8章和第9章讨论了程序设计中常见的查找和排序问题,并就典型方法进行详尽的算法分析和描述。
《数据结构》理论内容阐述详尽,算法分析循序渐进富有逻辑性,算法描述清晰准确,理论知识剖析清楚,且注草解题思路及实用技巧的培养,具有很强的实用性和针对性。书中的算法均采用c语言实现,可直接在任何c环境下调试运行。
《数据结构》既可用于高等院校计算机及相关专业的学生学习数据结构课程,也可用于报考计算机专业硕士研究生考试的本科生进行专业课复习,还可以作为相关领域的技术人员和读者自学的参考教材。
目 录
目录
《数据结构》
第1章绪论
1.1什么是数据结构
1.2基本术语
1.3算法和算法分析
1.3.1算法
1.3.2算法设计的要求
1.3.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线性链表
第1章绪论
1.1什么是数据结构
1.2基本术语
1.3算法和算法分析
1.3.1算法
1.3.2算法设计的要求
1.3.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循环链表的一个应用实例
小结
习题
第3章栈和队列
3.1栈
3.1.1栈的定义
3.1.2栈的抽象数据类型
3.1.3栈的表示和实现
3.2栈的应用举例
3.2.1数制转换
3.2.2括号匹配检测
3.2.3表达式求值
3.2.4迷宫求解
3.3栈与递归
3.3.1函数的嵌套调用
3.3.2递归调用
3.4队列
3.4.1队列的定义
3.4.2队列的抽象数据类型
3.4.3链队列——队列的链式表示和实现
3.4.4循环队列——队列的顺序表示和实现
3.4.5一个队列的应用实例
小结
习题
第4章串及模式匹配
4.1串类型的定义
4.2串的存储结构及其运算
4.2.1串的定长顺序存储
4.2.2堆的分配存储结构
4.2.3串的块链存储结构
4.3串的模式匹配
4.3.1简单的模式匹配算法
4.3.2改进后的模式匹配算法
4.4串操作应用举例
小结
习题
第5章数组和广义表
5.1数组的定义和运算
5.2数组的顺序存储结构
5.3矩阵的压缩存储
5.3.1特殊矩阵
5.3.2稀疏矩阵
5.4广义表
5.4.1广义表的定义
5.4.2广义表的运算
5.5广义表的存储结构
小结
习题
第6章树与二叉树
6.1树的基本概念
6.2二叉树
6.2.1二叉树的定义
6.2.2二叉树的性质
6.2.3二叉树的存储结构
6.3遍历二叉树和线索二叉树
6.3.1二叉树的遍历方法与算法实现
6.3.2二叉树的非递归算法实现
6.3.3由遍历序列恢复二叉树
6.3.4线索二叉树
6.4树和森林
6.4.1树的存储表示
6.4.2森林与二叉树的转换
6.4.3树和森林的遍历
6.5哈夫曼树及其应用
6.5.1最优二叉树
6.5.2哈夫曼编码
6.6回溯法与树的遍历
小结
习题
第7章图
7.1图的基本概念
7.2图的存储结构及基本操作
7.2.1邻接矩阵
7.2.2邻接表
7.2.3有向图的十字链表
7.2.4邻接多重表
7.3图的遍历
7.3.1深度优先搜索(depth_first search)
7.3.2广度优先搜索(breadth_first search)
7.4图的连通性问题
7.4.1无向图的连通性
7.4.2有向图的连通性
7.4.3生成树和生成森林
7.5有向无环图及其应用
7.5.1拓扑排序
7.5.2关键路径
7.6最短路径
7.6.1从一个源点到其余各顶点的最短路径
7.6.2每一对顶点间的最短路径
小结
习题
第8章查找
8.1基本概念
8.2静态查找表
8.2.1顺序查找
8.2.2有序表的查找
8.2.3索引顺序表的查找
8.3动态查找表
8.3.1二叉排序树
8.3.2平衡二叉树
8.3.3 b-树和b+树
8.4哈希表
8.4.1哈希表和哈希查找
8.4.2常用的哈希函数
8.4.3处理冲突的方法
8.4.4哈希表的查找及其分析
小结
习题
第9章内部排序
9.1排序的基本概念
9.2插入排序
9.2.1直接插入排序
9.2.2希尔排序
9.3交换排序
9.3.1冒泡排序
9.3.2快速排序
9.4选择排序
9.4.1简单选择排序
9.4.2堆排序
9.5归并排序
9.6基数排序
9.6.1多关键字排序的算法思想
9.6.2链式基数排序
9.7各种内部排序算法的比较
9.7.1选择排序算法的依据
9.7.2选择排序算法的结论
小结
习题
2.3.3循环链表和双向链表
2.3.4循环链表的一个应用实例
小结
习题
第3章栈和队列
3.1栈
3.1.1栈的定义
3.1.2栈的抽象数据类型
3.1.3栈的表示和实现
3.2栈的应用举例
3.2.1数制转换
3.2.2括号匹配检测
3.2.3表达式求值
3.2.4迷宫求解
3.3栈与递归
3.3.1函数的嵌套调用
3.3.2递归调用
3.4队列
3.4.1队列的定义
3.4.2队列的抽象数据类型
3.4.3链队列——队列的链式表示和实现
3.4.4循环队列——队列的顺序表示和实现
3.4.5一个队列的应用实例
小结
习题
第4章串及模式匹配
4.1串类型的定义
4.2串的存储结构及其运算
4.2.1串的定长顺序存储
4.2.2堆的分配存储结构
4.2.3串的块链存储结构
4.3串的模式匹配
4.3.1简单的模式匹配算法
4.3.2改进后的模式匹配算法
4.4串操作应用举例
小结
习题
第5章数组和广义表
5.1数组的定义和运算
5.2数组的顺序存储结构
5.3矩阵的压缩存储
5.3.1特殊矩阵
5.3.2稀疏矩阵
5.4广义表
5.4.1广义表的定义
5.4.2广义表的运算
5.5广义表的存储结构
小结
习题
第6章树与二叉树
6.1树的基本概念
6.2二叉树
6.2.1二叉树的定义
6.2.2二叉树的性质
6.2.3二叉树的存储结构
6.3遍历二叉树和线索二叉树
6.3.1二叉树的遍历方法与算法实现
6.3.2二叉树的非递归算法实现
6.3.3由遍历序列恢复二叉树
6.3.4线索二叉树
6.4树和森林
6.4.1树的存储表示
6.4.2森林与二叉树的转换
6.4.3树和森林的遍历
6.5哈夫曼树及其应用
6.5.1最优二叉树
6.5.2哈夫曼编码
6.6回溯法与树的遍历
小结
习题
第7章图
7.1图的基本概念
7.2图的存储结构及基本操作
7.2.1邻接矩阵
7.2.2邻接表
7.2.3有向图的十字链表
7.2.4邻接多重表
7.3图的遍历
7.3.1深度优先搜索(depth_first search)
7.3.2广度优先搜索(breadth_first search)
7.4图的连通性问题
7.4.1无向图的连通性
7.4.2有向图的连通性
7.4.3生成树和生成森林
7.5有向无环图及其应用
7.5.1拓扑排序
7.5.2关键路径
7.6最短路径
7.6.1从一个源点到其余各顶点的最短路径
7.6.2每一对顶点间的最短路径
小结
习题
第8章查找
8.1基本概念
8.2静态查找表
8.2.1顺序查找
8.2.2有序表的查找
8.2.3索引顺序表的查找
8.3动态查找表
8.3.1二叉排序树
8.3.2平衡二叉树
8.3.3 b-树和b+树
8.4哈希表
8.4.1哈希表和哈希查找
8.4.2常用的哈希函数
8.4.3处理冲突的方法
8.4.4哈希表的查找及其分析
小结
习题
第9章内部排序
9.1排序的基本概念
9.2插入排序
9.2.1直接插入排序
9.2.2希尔排序
9.3交换排序
9.3.1冒泡排序
9.3.2快速排序
9.4选择排序
9.4.1简单选择排序
9.4.2堆排序
9.5归并排序
9.6基数排序
9.6.1多关键字排序的算法思想
9.6.2链式基数排序
9.7各种内部排序算法的比较
9.7.1选择排序算法的依据
9.7.2选择排序算法的结论
小结
习题
评论
还没有评论。