算法设计与分析1y【荐】.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法设计与分析1y【荐】.ppt

算法设计与分析 授课教师:公茂果 教授 教材: 《计算机算法设计与分析(第2版)》 王晓东 编著 电子工业出版社 主要内容介绍 第1章 算法概述 第2章 递归与分治策略 第3章 动态规划 第4章 贪心算法 第5章 回溯法 第6章 分支限界法 第7章 概率算法 第8章 问题的复杂性 第1章 算法概述 主要内容: 1.1 算法的概念 1.2 算法表达方式 1.3 算法设计与分析 1.1算法的概念 请先考虑一下平时怎样打电话: 1.2算法表达方式 自然语言 流程图 伪代码 程序 1.3 算法设计与分析 算法设计与分析过程 算法设计的基本原则 正确、简单、最优 含义:算法是正确的;便于实现;复杂度低、性能好。 算法简单的好处: 容易验证正确性 便于程序实现 简单的算法效率不一定高。要在保证一定效率的前提下力求得到简单的算法。 最优性 含义:指求解某类问题中效率最高、性能最好的算法 两种最优性 最坏情况:设A是解某个问题的算法,如果在解这个问题的算法类中没有其它算法在最坏情况下的时间复杂性比A在最坏情况下的时间复杂性低,则称A是解这个问题在最坏情况下的最优算法。 平均情况:设A是解某个问题的算法,如果在解这个问题的算法类中没有其它算法在平均情况下的时间复杂性比A在平均情况下的时间复杂性低,则称A是解这个问题在平均情况下的最优算法。 算法分析的内容 算法分析的目的 算法分析的目的是: 预测算法的行为,特别是运行时间。 与运行算法的计算机无关,只与问题的规模,算 法的输入数据和算法本身有关。 算法复杂性: C = fc(N,I,A) 时间复杂性: T = fT(N,I,A) 空间复杂性: S = fS( N,I,A ) 算法复杂性分析 最坏情况下的时间复杂性: 最好情况下的时间复杂性: 平均情况下的时间复杂性: 实例 请思考: 已知不重复且从小到大排列的m个整数的数组A[1,2,~ m],对于给定一个整数c要求找到一个下标i,使得A[i]=c,找不到返回0。 算法一 顺序查找: 算法二 二分查找: 算法二 最坏情况: 算法复杂性的渐进状态 算法复杂性在渐近意义下的阶: 渐近意义下的记号:O、Ω、θ 设f(N)和g(N)是定义在正数集上的单调增函数。 渐近上界记号O的定义:如果存在正的常数C和自然数N0,使得当N?N0时有f(N)?C*g(N),则称函数f(N)当N充分大时上有界,且g(N)是它的一个上界。 记为:f(N)=O(g(N))。 即f(N)的阶不高于g(N)的阶。 3n O(n) n+1000 O(n) 1000n^2 O(n^2) N^2 O(n^2) Tmin=O(1) Tmax=O(m) Tavg=O(m) 阶的运算规则 根据O的定义,容易证明它有如下运算规则: 1. O(f)+O(g)=O(max(f,g)); 2. O(f)+O(g)=O(f+g); 3. O(f)*O(g)=O(fg); 4. 如果g(N)=O(f(N)),则O(f)+O(g)=O(f); 5. O(C*f(N))=O(f(N)),其中C是一正的常数; 6. f=O(f)。 算法复杂性分析 渐近下界记号Ω的定义:如果存在正的常数C和自然数N0,使得当N?N0时,有f(N)?C*g(N),则称函数f(N)当N充分大时下有界,且g(N)是它的一个下界,记为f(N)=Ω(g(N))。 即f(N)的阶不低于g(N)的阶。 紧渐近界记号θ的定义:定义f(N)= θ(g(N))当且仅当f(N)=O(g(N))且f(N)= Ω(g(N))。此时称f(N)与g(N)同阶。 常见的阶 1. 多项式阶(有效算法): O(1)O(log(n))O(n)O(n*log(n))O(n2)O(n3) 2. 指数阶(无效算法): O(2n)O(n!)O(nn) 复杂性分析 * E-mail:mggong @? Phone:029 Homepage: 拿 起 听 筒 拨 号 不通 通了 把听筒放下 通话 结束 把听筒放下 等会儿再拨 算法的定义:用于解决一个问题或实 现某个目标的有限的、有序过程。 通俗的讲,算法是解决

文档评论(0)

ucut + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档