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

3.1 KiB

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