前言
第1章绪论
1.1数据结构
1.1.1逻辑结构
1.1.2存储结构
1.2算法
1.2.1算法的定义
1.2.2算法分析
1.3常用的算法
1.3.1穷举法
1.3.2贪婪法
1.3.3递推法
1.3.4递归法
1.3.5分治法
1.3.6回溯法
习题
第2章线性表
2.1线性表存储及基本操作
2.1.1顺序表及基本操作
2.1.2单链表及基本操作
2.1.3单向循环链表及基本操作
2.1.4双向链表及基本操作
2.2线性表的应用
2.2.1单向循环链表合并
2.2.2约瑟夫问题
2.2.3多项式相加
2.3栈
2.3.1栈的定义
2.3.2顺序栈
2.3.3链式栈
2.4栈的应用
2.4.1进制转换
2.4.2单面电路板布线判断
2.4.3表达式计算
2.4.4迷宫求解
数据结构与算法应用
目录
2.5队列
2.5.1队列的定义
2.5.2循环队列
2.5.3链式队
2.6队列的应用
2.6.1模拟键盘输入循环缓冲区
2.6.2货运火车车厢调度
2.6.3农夫过河问题
2.6.4迷宫求解
习题
第3章线性表扩展
3.1数组及特殊矩阵
3.1.1一维数组的顺序存储
3.1.2二维数组的顺序存储
3.1.3特殊矩阵的压缩存储
3.2稀疏矩阵及压缩存储
3.3稀疏矩阵压缩存储的应用
3.3.1稀疏矩阵的转置
3.3.2稀疏矩阵的乘法运算
3.4字符串
3.4.1基本概念
3.4.2字符串的基本操作
3.5字符串的模式匹配
3.5.1简单匹配算法
3.5.2KMP算法
3.5.3Sunday算法
3.5.4ShiftAnd算法
3.5.5字符串模式匹配应用
习题
第4章树和二叉树
4.1树
4.1.1树的定义和基本术语
4.1.2树的存储方法
4.1.3树的性质
4.1.4表达式树
4.2二叉树
4.2.1二叉树的基本概念
4.2.2二叉树的性质
4.2.3满二叉树和完全二叉树
4.2.4二叉树的存储
4.2.5二叉树的遍历
4.2.6二叉树的构建及操作
4.3线索二叉树
4.4二叉树的应用
4.4.1计算二叉树的高度
4.4.2后缀表达式的转换
4.4.3哈夫曼树及编码
习题
第5章图
5.1图的定义和基本术语
5.2图的存储
5.2.1邻接矩阵
5.2.2邻接表
5.2.3邻接多重表
5.3图的遍历
5.3.1纵向优先搜索
5.3.2横向优先搜索
5.4图的应用
5.4.1地图的着色
5.4.2最小生成树
5.4.3最短路径
5.4.4拓扑排序和关键路径
习题
第6章查找
6.1线性查找
6.1.1顺序查找
6.1.2对分查找
6.1.3斐波那契查找
6.1.4分块查找
6.2树表查找
6.2.1二叉排序树
6.2.2平衡二叉树
6.3哈希表
6.3.1哈希表概念
6.3.2哈希函数构造方法
6.3.3哈希表解决冲突的方法
习题
第7章排序
7.1基本概念
7.2冒泡排序和快速排序
7.3插入排序和希尔排序
7.4选择排序和堆排序
7.5归并排序和基数排序
习题
参考文献
展开