第一章 绪论
1.1 数据结构的基本概念
1.2 库算法和算法评价
1.2.1 算法
1.2.2 C语言的数据类型
1.2.3 算法评价
习题
第二章 线性表
2.1 线性表的基本概念
2.2 线性表的顺序存储结构及其算法
2.2.1 线性表的顺序存储结构
2.2.2 顺序表的插入和删除算法
2.3 线性表的链式存储结构及其算法
2.3.1 约性表的链式存储结构
2.3.2 循环链表
2.3.3 双向链表
2.4 多项式相加
2.5 数组
2.5.1 数组的定义
2.5.2 数组的顺序表示和实现
2.5.3 稀疏矩阵
习题二
第三章 检和队列
3.1 栈
3.1.1 践的定义
3.1.2 栈的顺序存储结构及其运算
3.1.3 栈的链式存储结构及其操作
3.2 栈的应用举例
3.3 队列
3.3.1 队列的顺序存储结构及其运算
3.3.2 队列的链式存储结构及其操作
习题三
第四章 字符串
4.1 字符串的基本概念
4.2 字符率的存储结构
4.2.1 字符串的顺序存储结构
4.2.2 字符串的链式存储结构
4.3 字符率的运算
4.3.1 求串长度算法
4.3.2 插入子串算法
4.3.3 删除子串算法
4.3.4 字符串替换算法
4.3.5 字符串连接算法
4.3.6 求子串算法
4.3.7 字符串的匹配算法
4.4 文本编辑
习题四
第五章 递归
5.1 递归
5.2 递归算法的应用
5.2.1 定义是递归的
5.2.2 数据结构是递归的
5.2.3 问题的解法是递归的
5.3 递归问题的非递归算法
习题五
第六章 树
6.1 树的基本概念
6.1.1 树的定义
6.1.2 树的存储结构
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 哈夫曼树的应用
习题六
第七章 图
7.1 图的基本概念
7.1.1 图的定义
7.1.2 基本术语
7.2 图的存储结构
7.2.1 邻接矩阵
7.2.2 邻接表
7.2.3 十字链表
7.3 图的遍历
7.3.1 深度优先搜索
7.3.2 广度优先搜索
7.4 图的连通性问题
7.4.1 克鲁斯卡尔(Kruskal)算法
7.4.2 普里姆(Prim)算法
7.5 有向无环图及其应用
7.5.1 拓扑排序
7.5.2 关键路径
7.6 最短路径
7.6.1 从某个源点到其余各个顶点之间的最短路径
7.6.2 每一对顶点之间的最短路径
习题七
第八章 查找
8.1 顺序查找
8.2 二分法查找
8.3 分块查找
8.4 HASH查找
8.4.1 散列函数
8.4.2 处理冲突的方法
8.5 树表查找
8.5.1 二叉排序树
8.5.2 平衡树
习题八
第九章 排序
9.1 插入排序
9.1.1 约性插入排序
9.1.2 折半插入排序
9.1.3 希尔排序
9.2 交换排序
9.2.1 冒泡排序
9.2.2 快速排序
9.3 选择排序
9.3.1 简单选择排序
9.3.2 难排序
9.4 归并排序
9.5 基数排序
习题九
第十章 文件
10.1 文件的基本概念
10.1.1 文件的逻辑结构
10.1.2 文件的操作
10.1.3 文件的物理结构
10.2 顺序文件
10.3 索引文件
10.3.1 ISAM文件
10.3.2 VSAM文件
10.4 直接存取文件
10.5 多重表文件
10.6 倒排文件
习题十
附录A《数据结构》教学大纲
附录B《数据结构》实验指导书
主要参考文献