更新时间:2024-05-10 12:18:54
封面
版权信息
第2版前言
第1版前言
第1章 绪论
1.1 引言
1.1.1 学习数据结构的原因
1.1.2 数据结构课程的内容
1.2 数据结构的概念
1.2.1 基本概念和术语
1.2.2 抽象数据类型
1.3 数据结构的表示方法
1.3.1 数据结构的C语言描述
1.3.2 数据结构的C++语言描述
1.3.3 数据结构的Java语言描述
1.3.4 数据结构的Python语言描述
1.4 算法
1.4.1 算法及其特性
1.4.2 算法的描述
1.4.3 算法的性能分析与度量
1.5 递归
1.5.1 递归的概念
1.5.2 递归调用的实现原理
1.5.3 递归转换为非递归
1.5.4 递归应用举例
1.6 本章小结
练习题
实验题
第2章 线性结构
2.1 引言
2.1.1 问题提出
2.1.2 线性表的定义
2.1.3 线性表的基本运算
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.5.1 堆栈的定义及基本运算
2.5.2 堆栈的存储及运算实现
2.5.3 堆栈的应用举例
2.6 队列
2.6.1 队列的定义及基本运算
2.6.2 队列的存储及运算实现
2.6.3 队列的应用举例
2.7 其他线性结构及扩展
2.7.1 字符串
2.7.2 数组
2.7.3 特殊矩阵
2.8 本章小结
第3章 树结构
3.1 引言
3.1.1 问题提出
3.1.2 相关概念
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.4 二叉树遍历的应用
3.4.1 构造二叉树的二叉链表存储
3.4.2 在二叉树中查找值为x的数据元素
3.4.3 统计给定二叉树中叶子结点的数目
3.4.4 由遍历序列恢复二叉树
3.5 线索二叉树
3.5.1 线索二叉树的定义及其结构
3.5.2 线索二叉树的创建
3.5.3 线索二叉树的遍历
3.6 最优二叉树
3.6.1 最优二叉树的概念
3.6.2 最优二叉树的构造
3.6.3 最优二叉树的应用——哈夫曼编码
3.7 树
3.7.1 树的基本运算
3.7.2 树的表示
3.7.3 树的存储
3.7.4 树和森林与二叉树之间的转换
3.7.5 树或森林的遍历
3.7.6 树的应用
3.8 本章小结
第4章 图结构
4.1 引言
4.1.1 问题提出
4.1.2 相关概念
4.1.3 图的基本运算