You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
*written by PeterAlbus,Copyright © 2021 - SHOU 1951123 Hong Wu*
|
|
|
|
|
|
|
|
|
|
# 第1-2章 绪论
|
|
|
|
|
|
|
|
|
|
### 1.算法基本概念及5个特性
|
|
|
|
|
|
|
|
|
|
### 2.算法的描述方法
|
|
|
|
|
|
|
|
|
|
+ 伪代码
|
|
|
|
|
|
|
|
|
|
### 3.算法设计的过程
|
|
|
|
|
|
|
|
|
|
#### 1.3 重要的问题类型
|
|
|
|
|
|
|
|
|
|
##### 1.3.3 图问题
|
|
|
|
|
|
|
|
|
|
+ TSP问题
|
|
|
|
|
|
|
|
|
|
##### 1.3.4 组合问题
|
|
|
|
|
|
|
|
|
|
### 4.算法复杂度分析:**时间**/空间
|
|
|
|
|
|
|
|
|
|
#### 2.1 算法的时间复杂性分析
|
|
|
|
|
|
|
|
|
|
最大影响:输入数据的规模
|
|
|
|
|
|
|
|
|
|
+ 时间复杂度的计算
|
|
|
|
|
|
|
|
|
|
##### 2.1.2 算法的渐进分析
|
|
|
|
|
|
|
|
|
|
+ 大O,Ω(平凡下界)
|
|
|
|
|
|
|
|
|
|
##### 2.1.3 最好、最坏和平均情况
|
|
|
|
|
|
|
|
|
|
##### 2.1.5 递归算法的时间复杂性分析
|
|
|
|
|
|
|
|
|
|
**定理2.1(考)** 使用主定理计算时间复杂度
|
|
|
|
|
|
|
|
|
|
P29 第四题
|
|
|
|
|
|
|
|
|
|
#### 2.2 算法的空间复杂性分析
|
|
|
|
|
|
|
|
|
|
1. 输入输出数据占用的空间
|
|
|
|
|
|
|
|
|
|
2. 算法本身占用的空间
|
|
|
|
|
|
|
|
|
|
3. 执行算法需要的辅助空间
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 第3章 蛮力法
|
|
|
|
|
|
|
|
|
|
### 1.蛮力法的基本思想
|
|
|
|
|
|
|
|
|
|
### 2.具体问题中的应用
|
|
|
|
|
|
|
|
|
|
+ 查找问题:顺序
|
|
|
|
|
|
|
|
|
|
+ 串匹配
|
|
|
|
|
|
|
|
|
|
+ BF:朴素的模式匹配
|
|
|
|
|
+ KMP:主串无回溯(**求NEXT数组**,Page 40)
|
|
|
|
|
|
|
|
|
|
+ 排序问题
|
|
|
|
|
|
|
|
|
|
+ 选择排序
|
|
|
|
|
+ 冒泡排序
|
|
|
|
|
|
|
|
|
|
考试方法:给定序列,经过n次xx排序后的序列,选择题
|
|
|
|
|
|
|
|
|
|
+ 组合问题: 生成排列/生成子集/任务分配/0-1背包问题
|
|
|
|
|
|
|
|
|
|
+ 图问题:哈密尔顿回路/TSP
|
|
|
|
|
|
|
|
|
|
+ ~~几何问题:最近对~~ 简单了解
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 第4章 分治法
|
|
|
|
|
|
|
|
|
|
### 1.分治法的基本思想
|
|
|
|
|
|
|
|
|
|
+ 步骤:划分->求解子问题->合并
|
|
|
|
|
+ 递归
|
|
|
|
|
+ 时间复杂度
|
|
|
|
|
|
|
|
|
|
### 2.具体问题中的应用
|
|
|
|
|
|
|
|
|
|
+ 排序问题
|
|
|
|
|
+ 归并排序
|
|
|
|
|
+ 快速排序
|
|
|
|
|
+ 组合问题:最大子段和,棋盘覆盖,循环赛日程安排
|
|
|
|
|
+ 几何问题:最近对
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 第5章 减治法
|
|
|
|
|
|
|
|
|
|
### 1.减治法的基本思想
|
|
|
|
|
|
|
|
|
|
+ 时间复杂度
|
|
|
|
|
|
|
|
|
|
### 2.具体问题中的应用
|
|
|
|
|
|
|
|
|
|
+ 查找问题
|
|
|
|
|
+ 折半查找
|
|
|
|
|
+ 二叉查找树
|
|
|
|
|
+ 排序问题
|
|
|
|
|
+ **堆排序**:筛选法
|
|
|
|
|
+ 组合问题:淘汰赛冠军、假币问题
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 第6章 动态规划法 -编程题
|
|
|
|
|
|
|
|
|
|
### 1.动态规划法的基本思想
|
|
|
|
|
|
|
|
|
|
+ 最优化问题:约束条件/可行解/目标函数
|
|
|
|
|
+ 适用问题、步骤
|
|
|
|
|
+ 与分治法的异同点
|
|
|
|
|
|
|
|
|
|
### 2.具体问题中的应用
|
|
|
|
|
|
|
|
|
|
+ 图问题
|
|
|
|
|
+ TSP问题(Page 108)
|
|
|
|
|
+ 多段图的最短路径
|
|
|
|
|
+ 组合问题
|
|
|
|
|
+ 0/1背包问题
|
|
|
|
|
+ 最长公共子序列问题
|
|
|
|
|
+ 查找问题
|
|
|
|
|
+ 最优二叉查找树
|
|
|
|
|
+ 矩阵快速幂->斐波那契数列
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 第7章 贪心法
|
|
|
|
|
|
|
|
|
|
### 1.贪心法的基本思想
|
|
|
|
|
|
|
|
|
|
### 2.具体问题中的应用
|
|
|
|
|
|
|
|
|
|
+ 图问题
|
|
|
|
|
+ TSP问题、图着色问题、最小生成树
|
|
|
|
|
+ 组合问题
|
|
|
|
|
+ 背包问题,活动安排
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 第8章 回溯法
|
|
|
|
|
|
|
|
|
|
### 1.回溯法的基本思想
|
|
|
|
|
|
|
|
|
|
+ 解空间树
|
|
|
|
|
+ 深度优先搜索
|
|
|
|
|
+ 剪枝函数
|
|
|
|
|
|
|
|
|
|
### 2.具体问题中的应用(解空间树的搜索)
|
|
|
|
|
|
|
|
|
|
+ 图问题
|
|
|
|
|
+ 图着色问题
|
|
|
|
|
+ 组合问题
|
|
|
|
|
+ 八皇后问题
|
|
|
|
|
|
|
|
|
|
# 第9章 分支限界法
|
|
|
|
|
|
|
|
|
|
### 1.分支限界法的基本思想
|
|
|
|
|
|
|
|
|
|
+ 解空间树
|
|
|
|
|
+ 广度优先搜素
|
|
|
|
|
+ 限界函数
|
|
|
|
|
|
|
|
|
|
### 2.具体问题中的应用(解空间树)
|
|
|
|
|
|
|
|
|
|
+ 图问题
|
|
|
|
|
+ TSP
|
|
|
|
|
+ 多段图最短路径
|
|
|
|
|
+ 组合问题
|
|
|
|
|
+ 0/1背包问题 p180 图9.9
|
|
|
|
|
|
|
|
|
|
# 第10、11、12章
|
|
|
|
|
|
|
|
|
|
4分,近似算法、概率算法(舍伍德、拉斯维加斯、蒙特卡洛),特点、适用场景
|