1 / 48

课 程 简 介 课程名称:算法分析与计算复杂性理论 Analysis of Algorithms and Theory of Computational Complexity

课 程 简 介 课程名称:算法分析与计算复杂性理论 Analysis of Algorithms and Theory of Computational Complexity 课程类型:研究生必修课 基本目的: 掌握组合算法设计的基本技术 掌握算法分析的基本方法 掌握计算复杂性理论的基本概念 学习应用算法理论处理实际问题. 学 习 安 排. 平时作业: 40% 期末笔试: 50% 小论文: 10% 结合研究工作 算法设计或者分析 课程网站: Vod.grids.cn

thanh
Download Presentation

课 程 简 介 课程名称:算法分析与计算复杂性理论 Analysis of Algorithms and Theory of Computational Complexity

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 课 程 简 介 课程名称:算法分析与计算复杂性理论 Analysis of Algorithms and Theory of Computational Complexity 课程类型:研究生必修课 基本目的: 掌握组合算法设计的基本技术 掌握算法分析的基本方法 掌握计算复杂性理论的基本概念 学习应用算法理论处理实际问题

  2. 学 习 安 排 平时作业:40% 期末笔试:50% 小论文: 10% 结合研究工作 算法设计或者分析 课程网站:Vod.grids.cn http://realcourse.grids.cn Email:qwl@pku.edu.cn

  3. 引 言 理论上的可计算与现实上的可计算 理论上的可计算 可计算性理论 现实上的可计算 计算复杂性理论 几个有关算法的例子

  4. 指数时间的算法 多项式时间的算法 对数多项式时间的算法

  5. 著名公式 Algorithm + Data Structure = Programming 好的算法 提高求解问题的效率 节省存储空间 需要解决的问题 问题寻找求解算法 算法设计技术 算法算法的评价 算法分析技术 算法类问题复杂度的评价 问题复杂性分析 问题类能够求解的边界 计算复杂性理论

  6. 对数函数

  7. 阶 乘 n! = o(nn) 2n=o(n!) log n! = (n log n)

  8. 求 和 例5

  9. 例6

  10. 估计和式的上界 方法一:放大法

  11. 例8 估计以下和式的上界

  12. 方法二:利用积分 例9

  13. 例10

  14. 常系数线性非齐次递推方程求解(公式法) 标准形

  15. 叠代归纳法 差消法----化简递推方程 例12 求解递推方程 相减并化简得

  16. 由叠代得 T(n)=O(nlog n)

  17. 尝试法----估计递推方程的阶 方法 猜想T(n)的阶 代入方程验证,比较两边的阶的高低 如果右边高,则提高T(n)的阶 否则,降低T(n)的阶 例13 求解递推方程

  18. 设T(n)的阶为常数c, 则 设T(n)的阶为cn,则 设T(n)的阶为cn2, 则

  19. 设T(n)的阶为cnlog n , 则 令 c=2ln2, 则方程左、右增长率一致

  20. 生成函数法 设序列{an},构造形式幂级数 G(x) = a0 + a1x + a2x2 +… + an xn + … 称G(x)为{an}的生成函数 例如 {C(m,n)}的生成函数为 (1+x)m 给定正整数k, {kn}的生成函数为 G(x) =1+ kx + k2x2 + k3x3 + … = 1/(1-kx) 生成函数法: 不直接求解递推方程 求出序列对应的生成函数 将函数展开求得序列通项

  21. 递归树法——迭代 例14 log n层 (n2)

  22. 例15 log 3/2n层 (n log n)

  23. Master定理

  24. 例16 例17 例18

  25. 关于递推方程中 x和 x的处理 先猜想解,然后用数学归纳法证明 例19 估计以下递推关系的阶 根据 T(n) = O(n log n) 猜想原递推方程的解的阶是O(n log n) 证明:T(n) cn log n, 用数学归纳法

  26. 归纳基础 对于T(1)=1,显然没有T(1)c 1 log1. 考虑T(2)与T(3), T(2) = 2T(1)+2 = 4  22 log2 =4 T(3) = 2T(1)+3 = 5  23 log3 只要c  1, n  2,就有T(n) cn log n成立 归纳步骤 假设对于小于n的正整数命题为真,那么

More Related