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.
PeterAlbusNotes/FundamentalsOfAlgorithmics.md

182 lines
3.1 KiB
Markdown

*written by PeterAlbusCopyright © 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分近似算法、概率算法舍伍德、拉斯维加斯、蒙特卡洛特点、适用场景