《数据结构(C++版)(第2版)》是2016年06月01日清华大学出版社出版的图书,作者是陈宝平、张巨萍、孙宝军、阿雅娜。
基本介绍
- 书名:数据结构(C++版)(第2版)
- 作者:陈宝平、张巨萍、孙宝军、阿雅娜
- ISBN:9787302422358
- 定价:29元
- 出版社:清华大学出版社
- 出版时间:2016年06月01日
- 装帧:平装
- 开本:16开
内容简介
数据结构是计算机专业教学计画中的核心课程,也是计算机及相关专业考研和水平等级考试的必考科目。要从事和计算机科学与技术相关的工作,尤其是计算机套用领域的开发和研製工作,必须具备坚实的数据结构基础。本书介绍了学习数据结构所用到的预备知识,叙述了数据结构、算法以及抽象数据类型的概念,介绍了线性表、栈、伫列和串、数组和广义表、树和二叉树、图等常用数据结构,讨论了常用的查找、排序和索引技术。 本书内容丰富,层次清晰,讲解深入浅出,可作为计算机及相关专业本专科数据结构课程的教材,也可供从事计算机软体开发和套用的工程技术人员阅读、参考。
作者荐语
本书的作者长期从事数据结构的教学,对课程的难点和重点有比较深切的体会。在总结讲授数据结构课程的基础上,对多年形成的数据结构教学内容进行合理的重组,既强调数据结构的原理和方法,又注重其实践性与实用性。
目录
第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章索引结构和散列
10.1静态索引结构
10.1.1线性索引
10.1.2倒排表
10.1.3m路静态索引树
10.2动态索引结构
10.2.1动态的m路静态索引树
10.2.2B_树
10.2.3B_树的插入
10.2.4B_树的删除
10.2.5B+树
10.3散列
10.3.1散列函式
10.3.2开散列方法
10.3.3闭散列方法
10.3.4散列表的实现
10.3.5散列表分析
习题
参考文献