网站大量收购独家精品文档,联系QQ:2885784924

03 算法设计的要求.pdf

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计与问题求解 ——算法设计的要求 算法设计  日常生活中所执行的算法一般不太复杂,不值得耗费太多精力来 开发完美的算法 从超市采购回家,打开杂货袋放置食品的过程 进行大规模商业包装和拆装 算法设计 计算机处理的任务往往必须执行多次,值得花费时间来设计有 效的方法 最终得到的方法复杂或难以理解也无妨 潜在的回报是巨大的 算法设计的要求 正确性 具体步骤 确定性 有限性 可终止性 算法效率的度量 算法分析(Algorithm Analysis ):对算法所需要的两种计算 机资源——时间和空间进行估算  时间复杂度(Time Complexity )  空间复杂度(Space Complexity ) 算法效率的度量 算法效率分析的目的:  设计算法——设计出复杂性尽可能低的算法  选择算法——在多种算法中选择其中复杂性最低者 如何分析算法效率? 先写程序,直接观察结果 同一算法,程序不同,运行时间不同 写代码太费事,如果写出来才发现很慢… 不写程序,直接分析算法 算法复杂度 计算算法的时间复杂度时,往往不需要算出精确的结果 对于足够大的输入规模来说,我们只需要关心运行时间的增长 量级,也就是研究算法的渐进效率 算法复杂度  O记号表示的是一个渐进上界 记为:f(n)=O(g(n)) ,表示f(n)的阶不高于g(n)的阶 O(g(n))={f(n)|∃n ,c 0, s.t. ∀nn , 0≤f(n)≤cg(n)} 0 0 算法复杂度  算法(渐进)时间复杂度,一般均表示为以下几种数量级的形式(n为问题的规 模,c为一常量) : Ο(1)称为常数级 Ο(logn)称为对数级 Ο(n)称为线性级 c Ο(n )称为多项式级 n Ο(c )称为指数级 Ο(n!)称为阶乘级 算法复杂度 算法复杂度  时间复杂度和空间复杂度的关系 折衷 (tradeoff)  哪个更重要? 程序设计与问题求解 THANKS 算法设计的要求 FOR YOUR WATCHING

文档评论(0)

恬淡虚无 + 关注
实名认证
内容提供者

学高为师,身正为范.师者,传道授业解惑也。做一个有理想,有道德,有思想,有文化,有信念的人。 学无止境:活到老,学到老!有缘学习更多关注桃报:奉献教育,点店铺。

1亿VIP精品文档

相关文档