第1章绪论
1.1基本概念
1.2算法描述
1.3算法评价
习题一
第2章线性表
2.1线性表的定义和操作
2.2线性表的顺序存储结构和操作实现
2.2.1线性表的序存储
2.2.2顺序存储下线性表的操作实现
2.3线性表的链接存储结构
2.3.1链接存储的概念
2.3.2线性表的链接存储
2.3.3在单链表上的插入和删除操作
2.3.4单链表中的结点类型
2.3.5向链表中的结点类型和插入与删除操作
2.3.6带表头附加结点的线性链表
2.3.7循环链表
2.4线性表操作在单链表上的实现
习题二
第3章稀疏矩阵和广义表
3.1稀疏矩阵
3.1.1稀疏矩阵的定义
3.1.2稀疏矩阵的存储结构
3.1.3稀疏矩阵的运算
3.2广义表
3.2.1广义表的定义
3.2.2广义表的存储结构
3.2.3广义表的运算
3.2.4简单程序举例
习题三
第4章栈和队列
4.1栈
4.1.1栈的定义
4.1.2栈的运算概述
4.2栈的顺序存储结构和操作实现
4.3栈的链接存储结构和操作实现
4.4栈的简单应用举例
4.5算术表达式的计算
4.5.1算术表达式的两种表示
4.5.2后缀表达式求值的算法
4.5.3把中缀表达式转换为后缀表达式的算法
4.6栈与递归
4.7队列
4.7.1队列的定义
4.7.2队列的运算概述
4.7.3队列的顺序存储结构和操作实现
4.7.4队列的链接存储结构和操作实现
4.7.5队列的应用简介
习题四
第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二叉树的存储结构
5.3二叉树遍历
5.4二叉树的其他运算
5.5树的存储结构和运算
5.5.1树的运算概述
5,5.2树的存储结构
5.5.3树的运算
习题五
第6章二叉树的应用
6.1叉搜索树
6.1.1二叉搜索树的定义
6.1.2二叉搜索树的运算概述
6:1.3二叉搜索树的运算
6.2堆
6.2.1堆的定义
6.2.2堆的运算概述
6.2.3堆的存储结构
6.2.4堆的运算
6.3哈夫曼树
6.3.1基本术语
6.3.2构造哈夫曼树
*6.3.3哈夫曼编码
习题六
第7章图
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.3.3非连通图的遍历
7.4图的生成树和最小生成树
7.4.1普里姆算法
7.4.2克鲁斯卡尔算法
7.5拓扑排序
习题七
第8章查找
8.1查找的基本概念
8.2顺序表查找
8.2.1顺序查找
8.2.2分查找
8.3索引查找
8.3.1索引的概念
8.3.2索引查找算法
8.3.3分块查找
8.4散列查找
8.4.1散列的概念
8.4.2散列函数
8.4.3处理冲突的方法
8.4.4散列表的运算
8.5B树查找
8.5.1B树的定义
8.5.2B树查找
8.5.3B树的插入
8.5.4B树的删除
习题八
第9章排序
9.1排序的基本概念
9.2插入排序
9.3选择排序
9.3.1直接选择排序
9.3.2堆排序
9.4交换排序
9.4.1气泡排序
9.4.2快速排序
9.5归并排序
9.6各种内排序方法的比较
9.7外排序
习题九
参考文献