数据结构是计算机专业教学计划中的核心课程,也是计算机及相关专业考研和水平等级考试的必考科目。要从事和计算机科学与技术相关的工作,尤其是计算机应用领域的开发和研制工作,必须具备坚实的数据结构基础。
本书介绍了学习数据结构所用到的预备知识,叙述了数据结构、算法以及抽象数据类型的概念,介绍了线性表、栈、队列和串、数组和广义表、树和二叉树、图等常用数据结构,讨论了常用的查找、排序和索引技术。
本书内容丰富,层次清晰,讲解深入浅出,可作为计算机及相关专业本专科数据结构课程的教材,也可供从事计算机软件开发和应用的工程技术人员阅读、参考。
第1章绪论
1.1为什么要学习数据结构
1.2什么是数据结构
1.2.1数据的逻辑结构
1.2.2数据的存储结构
1.2.3抽象数据类型
1.3算法与算法分析
1.3.1算法
1.3.2算法的设计要求
1.3.3算法效率的量度
1.3.4算法的设计方式
习题
第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.4.1一元多项式的表示
2.4.2一元多项式的求和
习题
第3章栈和队列
3.1栈
3.1.1栈的抽象数据类型定义
3.1.2栈的实现
3.2栈的应用举例
3.3栈与递归
3.4队列
3.4.1队列的抽象数据类型定义
3.4.2队列的实现
3.4.3队列的应用
习题
第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.1.1数组的定义
5.1.2数组的存储
5.1.3特殊矩阵
5.1.4稀疏矩阵
5.2广义表
5.2.1广义表的定义
5.2.2广义表的存储结构
5.2.3广义表的递归算法
5.2.4广义表的应用
习题
第6章树与二叉树
6.1树的定义与基本术语
6.2二叉树
6.2.1二叉树的定义
6.2.2二叉树的性质
6.2.3二叉树的存储结构
6.3二叉树的遍历
6.3.1递归遍历二叉树
6.3.2应用二叉树遍历的实例
6.4线索二叉树
6.5树与森林
6.5.1树的存储表示
6.5.2森林与二叉树的转换
6.5.3树的遍历
6.5.4森林的遍历
6.6树的应用
6.6.1堆
6.6.2哈夫曼树与编码
习题
第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.2.5分块搜索
7.3二叉搜索树
7.3.1二叉搜索树的定义
7.3.2二叉搜索树的搜索
7.3.3二叉搜索树的插入
7.3.4二叉搜索树的建立
7.3.5二叉搜索树的删除
7.4AVL树
7.4.1AVL树的定义
7.4.2最小不平衡二叉树
7.4.3不平衡二叉树的调整方法
7.4.4建立平衡二叉树举例
7.5应用举例计算机登录验证
习题
第8章图
8.1图的定义
8.1.1图的定义与相关术语
8.1.2图的抽象数据类型
8.2图的存储结构
8.2.1数组表示法
8.2.2邻接表表示法
8.2.3邻接多重表表示法
8.2.4十字链表法
8.3图的遍历
8.3.1深度优先遍历
8.3.2广度优先遍历
8.4图的最小生成树
8.4.1Prim算法
8.4.2Kruskal算法
8.5最短路径
8.5.1单源最短路径
8.5.2每对顶点的最短路径
8.6拓扑排序
8.7关键路径
8.8应用实例
习题
第9章排序
9.1概述
9.2插入排序
9.2.1直接插入排序
9.2.2折半插入排序
9.2.3希尔排序
9.3交换排序
9.3.1冒泡排序
9.3.2快速排序
9.4选择排序
9.4.1直接选择排序
9.4.2堆排序
9.5归并排序
9.5.1归并排序概述
9.5.2递归的归并排序算法
9.6基数排序
9.6.1多关键码排序
9.6.2链式基数排序
9.7各种排序方法的比较讨论
9.8外部排序的方法
习题
第10章索引结构和散列
参考文献
¥268.00
¥98.00
¥398.00
¥498.00
¥118.00
¥150.00