-算法的分析基础.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2019/10/2 第 2 章 算法分析基础 柯昌博 日期 : 2015-2-6 1 南京邮电大学 计算机学院计科系 2.1 算法复杂度 好算法的 4 个重要特征: ? Correctness —— 正确性 注意区分“ 正确性 ”和“ 健壮性 ”的概念: 算法 正确性 —— 在合法的输入下,算法应实现预先规定的功能和计算精度要求。 程序 健壮性 —— 当输入不合法的数据时,程序应能做适当处理而不至于引起严重后果。 正确性 和 健壮性 互相补充。 程序 可靠性 —— 在正常情况下能正确地工作,在异常情况下也能做出适当处理。 2.1 算法复杂度 好算法的 4 个重要特征: ? Correctness —— 正确性 ? Simplicity, clarity —— 简明性 遗憾的是,简单的算法不一定高效 思路清晰、层次分明、 容易理解、利于编码和 调试。 2.1 算法复杂度 好算法的 4 个重要特征: ? Correctness —— 正确性 ? Simplicity, clarity —— 简明性 ? Amount of time/space used —— 效率 执行算法所需的时间和存储空间 算法设计者常常需要在算法的简明性和 效率之间作出谨慎的选择 2.1 算法复杂度 好算法的 4 个重要特征: ? Correctness —— 正确性 ? Simplicity, clarity —— 简明性 ? Amount of time/space used —— 效率 ? Optimality —— 最优性 算法执行时间达到求解该类问题所 需时间的下界。 与所求解问题自身的复杂程度有关 。 又如: 可证 排序问题的 时间复杂度下界 为 ? ( n log n ) 。 则 最坏时间复杂性为 O ( n log n ) 的排序算法是 最优算法 。 因此: 堆排序 算法和 两路合并排序 算法都是 最优算法 。 例如 : FindMax(int L[]) // 求 n 个元素中的最大元素 { int max=L[0]; int i=1; while(i<n) { if (max<L[i]) max=L[i]; i=i+1; } } 最优算法 影响 程序 运行时间的因素 ? 程序所依赖的 算法 ? 问题规模 和 输入数据 ? 计算机系统 性能 根本的、起决定作用的 数值大小和状态 硬件系统性能( CPU 速度)和软件系统性能(操作系统、编译器 ) 输入、输出 —— 运行一个算法所需的 时间 和 空间 资源的量。 ? 算法的 时间 复杂性( Time Complexity ) —— T ( n ) ? 算法的 空间 复杂性( Space Complexity ) —— S ( n ) 其中 n 是问题的规模(输入大小) 算法复杂度 How to Measure? ? Machine independent ? Language independent ? Programming style independent ? Implementation independent 算法的 时间 复杂度 ? 算法的时间复杂度 —— 算法运行所需的时间 ? 最好 、 最坏 和 平均 时间复杂度 ( 不考虑计算机因素对算法分析的影响) ? 最好 情况( 出现概率较大时 分析) ? 最差 情况( 实时系统 ) ? 平均 情况( 已知 输入数据是如何 分布 的,通常 假设 等概率分布 ) 算法的时间复杂度 ( 1 ) 最好情况 下的时间复杂性: B(n) = T min ( n ) = min{ T (n,I) | I∈D n } ( 2 ) 最坏情况 下的时间复杂性: W(n) = T max ( n ) = max{ T (n,I) | I∈D n } ( 3 ) 平均情况 下的时间复杂性: A(n) = T avg (n) = I: 问题规模为 n 的实例。 D n : 规模为 n 的所有合法输入的集合。 p(I): 实例 I 出现的概率。 I Dn p(I)T(n,I) ? ? 算法的 空间 复杂度 ? 算法的空间复杂度 —— 算法运行所

文档评论(0)

jinzhuang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档