《面向对象数据结构(C++版)》全面介绍了面向对象数据结构的基础理论、算法设计方法和具体应用,包括数据结构及算法设计的基本概念、线性表、串、栈和队列、数组和广义表、树和二叉树、图、查找、排序等内容,力求满足计算机及相关专业本科教学的基本要求及培养目标。《面向对象数据结构(C++版)》采用面向对象C++语言描述数据结构和算法,涉及内容全面丰富,重点突出,理论讲述难度适中,算法实践浅显易懂,例题习题丰富。《面向对象数据结构(C++版)》可作为高等院校计算机及相关专业本科及研究生面向对象数据结构课程教材,也可供从事计算机软件开发和工程应用的技术人员参考。
更多科学出版社服务,请扫码获取。
第一章 绪论
1.1 基本概念和术语
1.2 算法及其描述
1.3 算法分析
习题
第二章 线性表
2.1 线性表
2.2 顺序表
2.3 链式表
2.4 顺序表和链式表的比较
2.5 线性表应用:一元多项式相加
习题
第三章 串
3.1 串抽象数据类型 前言
第一章 绪论
1.1 基本概念和术语
1.2 算法及其描述
1.3 算法分析
习题
第二章 线性表
2.1 线性表
2.2 顺序表
2.3 链式表
2.4 顺序表和链式表的比较
2.5 线性表应用:一元多项式相加
习题
第三章 串
3.1 串抽象数据类型
3.2 串的表示和实现
3.3 串的模式匹配
习题
第四章 栈和队列
4.1 栈
4.2 队列
4.3 递归
习题
第五章 数组和广义表
5.1 数组
5.2 特殊矩阵的压缩存储
5.3 广义表
习题
第六章 树和二叉树
6.1 树的定义及相关术语
6.2 树的表示和实现
6.3 二叉树的定义及性质
6.4 树、森林与二叉树的转换
6.5 二叉树的遍历
6.6 二叉树的表示和实现
6.7 线索二叉树
6.8 二叉排序树
6.9 哈夫曼树与哈夫曼编码
习题
第七章 图
7.1 图的定义和术语
7.2 图的表示和实现
7.3 图的遍历
7.4 生成树和最小生成树
7.5 最短路径
习题
第八章 查找
8.1 基本概念
8.2 线性表的查找
8.3 散列
8.4 二叉排序树和平衡二叉树
习题
第九章 排序
9.1 排序的术语
9.2 插入排序
9.3 交换排序
9.4 选择排序
9.5 归并排序
习题
参考文献
目录
前言
第一章 绪论 1
1.1 基本概念和术语 1
1.2 算法及其描述 7
1.3 算法分析 8
习题 11
第二章 线性表 13
2.1 线性表 13
2.2 顺序表 14
2.3 链式表 24
2.4 顺序表和链式表的比较 48
2.5 线性表应用:一元多项式相加 49
习题 51
第三章 串 52
3.1 串抽象数据类型 52
3.2 串的表示和实现 54
3.3 串的模式匹配 65
习题 77
第四章 栈和队列 79
4.1 栈 79
4.2 队列 101
4.3 递归 110
习题 112
第五章 数组和广义表 113
5.1 数组 113
5.2 特殊矩阵的压缩存储 122
5.3 广义表 141
习题 149
第六章 树和二叉树 151
6.1 树的定义及相关术语 151
6.2 树的表示和实现 154
6.3 二叉树的定义及性质 159
6.4 树、森林与二叉树的转换 161
6.5 二叉树的遍历 163
6.6 二叉树的表示和实现 165
6.7 线索二叉树 178
6.8 二叉排序树 187
6.9 哈夫曼树与哈夫曼编码 195
习题 202
第七章 图 203
7.1 图的定义和术语 203
7.2 图的表示和实现 207
7.3 图的遍历 225
7.4 生成树和最小生成树 234
7.5 最短路径 242
习题 252
第八章 查找 254
8.1 基本概念 254
8.2 线性表的查找 256
8.3 散列 261
8.4 二叉排序树和平衡二叉树 267
习题 276
第九章 排序 277
9.1 排序的术语 277
9.2 插入排序 278
9.3 交换排序 282
9.4 选择排序 285
9.5 归并排序 291
习题 293
参考文献 294