内容简介
第1章 基本算法知识
1.1 开场白
1.2 “算法”的由来
1.3 算法十大名师
1.4 算法在计算中的作用
1.4.1 算法及其特性
1.4.2 算法的应用
1.5 算法渐近性分析
1.6 学习算法的重要性
1.7 基本算法设计策略
1.7.1 贪心法
1.7.2 分治法
1.7.3 回溯法
1.7.4 分支限界法
1.7.5 随机化算法
1.7.6 动态规划
习题
第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.4 图
2.5 集合
习题
第3章 排序算法
3.1 十二生肖排序的故事
3.2 排序的基本概念
3.3 贪心排序
3.4 分治排序
3.4.1 递归算法
3.4.2 分治排序算法
3.5 搜索排序
3.5.1 二叉树的定义及遍历
3.5.2 二叉搜索树
3.5.3 二叉搜索树排序
3.6 随机排序
3.7 基于模运算的排序
3.8 分组排序
3.9 位排序
习题
第4章 选择算法
4.1 最小值与最大值
4.2 中位数选择
4.3 线性时间选择
4.3.1 随机线性时间选择
4.3.2 分组线性时间选择
习题
第5章 图算法
5.1 图的遍历算法
5.1.1 深度优先遍历
5.1.2 广度优先遍历
5.2 单源最短路径算法
5.3 最小生成树算法
5.4 二分图算法
5.4.1 二分图概念
5.4.2 最大流算法
5.4.3 匈牙利算法
习题
第6章 算法拓展
6.1 遗传算法
6.2 贪心遗传算法
6.3 启发式遗传算法
习题
参考文献