算法设计及分析_复习整理.pdf

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法设计与分析复习整理 江超群 2016.10 算法设计与分析复习整理 1 基本概念 1 算法定义 1 算法的描述方法 2 算法时间复杂度分析 2 什么是算法时间复杂度 2 影响算法时间复杂度的因素2 时间复杂度分析框架 2 算法时间复杂度怎么影响算法的执行 4 穷举法 5 线性结构穷举法的一般性算法框架 5 递推和递归 5 数学归纳法怎么样用于算法设计 5 递归的例题 5 递归与分治策略8 分治算法一般框架 8 分治算法例题 8 PPT 上选择问题之后的明确不考 13 贪心算法 13 贪心准则 13 贪心选择性质、最优子结构、多机调度不考 14 贪心算法例子 14 动态规划 16 课件例子 16 NP 21 回溯算法 21 一般算法框架 21 例子 21 分支限界 23 分支限界法的基本步骤 23 宽度优先搜索算法 23 代价树搜索 23 启发性信息 24 估价函数 -实际是界限函数 24 任务分配算法 24 基本概念 算法定义 算法是在有限步骤内求解某一问题所使用 算法是在有限步骤内求解某一问题所使用 算法是在有限步骤内求解某 一问题所使用 的一组定义明确规则。 算法特性 确定性、可行性、输入、输出、有穷性 1 算法的描述方法 流程图、伪代码、具体的程序设计语言 算法时间复杂度分析 什么是算法时间复杂度 算法执行时间的多少,这个时间指的是相对时间,用基本操作的执行次数来表示计算时间的多少。 影响算法时间复杂度的因素 1> 数据分布:用三种情况来表示数据分布的影响 最好情况时间复杂度、最坏情况时间复杂度、平均情况时间复杂度 2> 数据规模:数据规模作为自变量 时间复杂度分析框架 1.明确输入数据规模 n(数据量的大小) 2.确定时间单位(基本操作的执行次数) 3.分析最坏情况时间与数据规模的关系 T=T(n) 非递归算法  一般是多项式 递归算法  一般是递推关系 大多数情况下,只分析最坏情况的时间复杂度,如果需要,分析最好情况和平均情况下时间复杂度 4.渐进效率分析(O,Θ,Ω 表示) 5.增长速度分析 O ,Θ,Ω的数学定义 定义 设 f 和 g 是定义域为自然数集 N 上的函数。 (1) 若存在正数 c 和 n 使得对一切 n  n 有 0  f (n)  cg(n) 成立 ,则称 f (n) 的渐近的上界是 g(n), 0 0 记作 f (n) = O(g(n))。 (2) 若存在正数 c 和 n ,使得对一切 n  n 有 0  cg(n)  f (n) 成立 ,则称 f (n)的渐近的下界是 g(n), 0 0 记作 f (n) = (g(n))。 (3) 若 f (n) = O(g(n)) 且 f (n) = (g(n)),则记作 f (n)=(g(n))。 一些基本的递归公式求解 代入法 和 特征方程法(离散数学讲过) 以上两种不容易的要特殊处理(通过变化-快速排序平均时间复杂度 /

文档评论(0)

东方888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档