目录
第一章 绪 论
1.1什么是数据结构
1.2数据结构的发展简史及其在计算机科学中的地位
1.3算 法
1.4SPARKS语言简介
1.4.1算法格式
1.4.2SPARKS语句
1.5算法分析
1.5.1时间复杂度
1.5.2空间复杂度
1.5.3其他方面
1.6算法设计的基本步骤
习题
第二章 线性表
2.1线性表及其基本运算
2.1.1线性表的定义
2.1.2关于线性表的基本运算
2.2线性表的顺序存储结构
2.3线性表的链式存储结构
2.3.1线性链表
2.3.2线性链表的有关算法
2.4循环链表及其运算
2.5双向链表及其运算
2.5.1双向链表的构造
2.5.2双向链表的插入与删除算法
2.6链表的应用举例
2.6.1链式存储结构下的一元多项式加法
2.6.2动态存储管理
习题
第三章 数 组
3.1数组的概念
3.1.1一维数组
3.1.2多维数组
3.2数组的存储结构
3.3矩阵的压缩存储
3.3.1对称矩阵的压缩存储
3.3.2对角矩阵的压缩存储
3.4稀疏矩阵的三元组表示
3.5稀疏矩阵的十字链表表示
3.6数组的应用举例
3.6.1一元多项式的数组表示
3.6.2n阶魔方
习题
第四章 堆栈和队列
4.1堆栈的概念及其运算
4.1.1堆栈的定义
4.1.2堆栈的有关运算
4.2堆栈的顺序存储结构
4.3堆栈的链式存储结构
4.4堆栈的应用举例
4.4.1堆栈在递归中的应用
4.4.2表达式的计算
4.4.3一个趣味游戏——迷宫问题
4.5队列的概念及其运算
4.5.1队列的定义
4.5.2队列的有关运算
4.6队列的顺序存储结构
4.7队列的链式存储结构
习题
第五章 广义表
5.1广义表的概念
5.2广义表的存储结构
5.3多元多项式的表示
习题
第六章 串
6.1串的概念
6.1.1串的定义
6.1.2串的几个概念
6.2串的基本运算
6.3串的存储结构
6.3.1串的顺序存储结构
6.3.2串的链式存储结构
6.4串的几个运算
习题
第七章 树与二叉树
7.1树的基本概念
7.1.1树的定义
7.1.2树的逻辑表示方法
7.1.3基本术语
7.1.4树的基本运算
7.2树的存储结构
7.2.1多重链表表示法
7.2.2三重链表表示法
7.3二 叉 树
7.3.1二叉树的定义
7.3.2二叉树的基本运算
7.3.3满二叉树与完全二叉树
7.3.4二叉树的性质
7.3.5二叉树与树、树林之间的转换
7.4二叉树的存储结构
7.4.1二叉树的顺序存储结构
7.4.2二叉树的链式存储结构
7.5树的遍历
7.5.1二叉树的遍历
7.5.2树和树林的遍历
7.5.3由遍历序列恢复二叉树
7.6线索二叉树
7.6.1线索二叉树的构造
7.6.2线索二叉树的利用
7.6.3二叉树的线索化算法
7.6.4线索树的更新
7.7二叉排序树
7.7.1二叉排序树的定义
7.7.2二叉排序树的构造
7.7.3在二叉排序树中删除结点
7.7.4二叉排序树的查找
7.8平衡二叉树
7.9哈夫曼树及其应用
7.9.1哈夫曼树的概念
7.9.2哈夫曼编码
7.10树的一个应用——判定树
习题
第八章 图
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深度优先搜索(Depth First Search)
8.3.2广度优先搜索(Breadth First Search)
8.4最小生成树
8.5最短路径问题
8.5.1某个源点到其余各个顶点的最短路径
8.5.2每一对顶点之间的最短路径
8.6AOV网与拓扑排序
8.6.1AOV网(Activit yonver texnet work)
8.6.2拓扑排序
8.6.3拓扑排序算法
8.7AOE网与关键路径
8.7.1AOE网(Activit yone dgene twork)
8.7.2关键路径
8.7.3关键路径的确定
习题
第九章 文件及查找
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.3.3多级索引文件
9.4索引顺序存取文件
9.4.1空间的划分
9.4.2ISAM的索引结构
9.4.3ISAM文件的基本操作
9.4.4主索引和柱面索引的最佳位置
9.5B__树和B±树
9.5.1B__树概述
9.5.2B__树的基本操作
9.5.3B±树的概念
9.5.4B±树的基本操作
9.6虚拟存储存取文件
9.6.1VSAM的结构
9.6.2VSAM的操作
9.7静态索引与动态索引的比较
9.8杂凑(Hash)文件
9.8.1概 述
9.8.2杂凑函数的几种构造方法
9.8.3处理冲突的方法
9.8.4杂凑文件的操作
9.8.5散列法的平均查找长度
9.9多重链表文件
9.10倒排文件
习题
第十章 内排序
10.1概 述
10.1.1排序的概念
10.1.2排序的分类
10.2插入排序
10.3选择排序
10.4泡排序
10.5谢尔排序
10.6快速排序
10.7堆积排序
10.7.1堆积的定义
10.7.2堆积排序算法
10.8二路归并排序
10.8.1归并子算法
10.8.2一趟归并扫描子算法
10.8.3二路归并排序算法
10.9基数排序
10.10各种内排序算法的比较
10.10.1稳定性比较
10.10.2复杂性比较
习题
第十一章 外排序
11.1概 述
11.2磁带排序
11.2.1多路平衡归并排序法
11.2.2多步归并排序
11.3初始归并段的合理分布与产生
11.3.1初始归并段的合理分布
11.3.2一种产生初始归并段的方法——置换选择排序
11.4磁盘排序
11.4.1最佳归并树
习题
附录 部分习题参考答案
参考文献