# 第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分,近似算法、概率算法(舍伍德、拉斯维加斯、蒙特卡洛),特点、适用场景