内容简介
第1章 绪论
1.1什么是数据结构
1.2基本术语
1.3算法和算法的分析
1.3.1算法
1.3.2算法的设计要求
1.3.3算法分析
本章小结
习题
第2章 线性表
2.1线性表及其基本运算
2.1.1线性表的定义
2.1.2线性表的基本运算
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.4双向链表
2.4.1双向链表的定义
2.4.2双向链表的基本运算的实现
2.4.3双向循环链表
2.4.4顺序表和链表的比较
2.5链表的应用
本章小结
习题
第3章 栈和队列
3.1栈及其运算
3.1.1栈的基本概念
3.1.2栈的基本操作
3.2栈的顺序存储结构
3.2.1顺序栈的表示和实现
3.2.2两个栈共享存储空间
3.3栈的链式存储结构
3.4栈的应用举例
3.4.1数制的转换问题
3.4.2括号匹配的检测
3.4.3栈与递归
3.4.4算术表达式求值
3.4.5栈的实例源程序
3.5队列
3.5.1队列的定义
3.5.2队列的运算
3.5.3队列的链式存储结构
3.5.4队列的顺序存储结构
3.5.5队列实例源程序
本章小结
习题
第4章 数组及其应用
4.1数组及其顺序存储结构
4.1.1数组的概念
4.1.2数组的主要运算
4.1.3数组的顺序存储结构
4.2矩阵的压缩存储
4.2.1特殊矩阵及其压缩存储
4.2.2稀疏矩阵
本章小结
习题
第5章串
5.1串和串的主要运算
5.1.1串的基本概念
5.1.2串的主要运算
5.2串的存储结构和基本运算的实现
5.2.1定长顺序存储结构
5.2.2堆分配存储结构
5.2.3块链存储结构
5.3串的模式匹配算法
5.4串的应用实例
本章小结
习题
第6章 树和二叉树
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.3.3后序遍历
6.4线索二叉树
6.5树、森林与二叉树的转换与遍历
6.5.1树的二叉树表示
6.5.2森林与二叉树的转换
6.5.3树与森林的遍历
6.6哈夫曼树及其应用
6.6.1路径长度
6.6.2哈夫曼树
6.6.3哈夫曼编码
本章小结
习题
第7章图
7.1图的基本概念
7.1.1图、有向图、无向图
7.1.2图的运算
7.1.3图的基本术语
7.2图的存储结构
7.2.1邻接矩阵表示法
7.2.2邻接表表示法
7.3图的遍历
7.3.1深度优先搜索
7.3.2广度优先搜索
7.4生成树和最小生成树
7.4.1生成树和最小生成树的概念
7.4.2 Kruskal算法
7.4.3 Prim算法
7.5 AOV网和拓扑排序
7.5.1 AOV网和拓扑排序的概念
7.5.2拓扑排序算法
7.6 AOE网和关键路径
7.6.1 AOE网和关键路径的概念
7.6.2关键路径的确定
7.7最短路径
7.7.1最短路径的概念
7.7.2 Dijkstra算法
7.7.3 Floyd算法
本章小结
习题
第8章 排序
8.1基本概念
8.2插入排序
8.3交换排序
8.3.1冒泡排序
8.3.2快速排序
8.4选择排序
8.4.1简单选择排序
8.4.2堆排序
8.5归并排序
8.6基数排序
8.7各种内部排序的比较
8.8外部排序、
8.8.1外部排序的方法
8.8.2置换-选择排序
8.8.3最佳归并树
本章小结
习题
第9章 查找
9.1静态查找表
9.1.1静态查找表结构
9.1.2顺序查找
9.1.3折半查找
9.1.4插值查找和斐波那契查找
9.1.5索引查找
9.2动态查找表
9.2.1二叉排序树
9.2.2平衡二叉树
9.2.3 B-树和B+树
9.3哈希表
9.3.1哈希表的基本概念
9.3.2哈希函数的构造
9.3.3处理冲突的方法
9.3.4哈希表的查找分析
本章小结
习题
第10章 文件
10.1外存储设备
10.1.1磁带
10.1.2磁盘
10.2文件的基本概念
10.3顺序文件
10.4索引文件
10.5直接存取文件
10.6链接文件和多重链表文件
10.7倒排文件
本章小结
习题