01-算法分析基本概念资料.pptVIP

  • 14
  • 0
  • 约8.49千字
  • 约 42页
  • 2016-12-23 发布于湖北
  • 举报
5.3.1 最坏情况和平均情况 6. 最优算法 定义: 如果可以证明任何一个求解问题P的算法必定是Ω(f(n)),称在O(f(n))时间内可以求解问题P的任何算法为问题P的最优算法。 被广泛使用的定义没有考虑空间复杂性 只要空间在合理范围内,时间比空间珍贵; 大多数已有的最优算法,空间复杂性的阶为O((n)。 举例:排序问题 已经证明问题的算法下界为nlog(n); 合并排序算法复杂性为O(nlog(n)),故为最优算法。 7 如何估计算法的运行时间 7.1 计算迭代次数 由于运行时间常常和while循环及类似结构的执行次数成正比,所以,计算迭代次数将很好地表明算法的运行时间。 适用于许多算法,如: 搜索、排序、矩阵乘法等 7 如何估计算法的运行时间 7.2 计算基本运算的频度 定义:如果算法中的存在一个元运算,所有其他元运算频度均在它的频度常数倍内,称这个元运算为基本运算。 算法中一定存在基本运算。 如:在分析排序算法是,若元素比较是元运算,则可以选它为元运算。 元运算: 算术运算,包括加、减、乘和除; 比较和逻辑运算;赋值运算;等等… 7 如何估计算法的运行时间 7.3 使用递推关系 在递归算法中,运行时间的函数常常以递推关系的形式给出。 目前,寻找递推关系式的解已经得到了很好地研究。 例如:二分搜索算法 递推关系式:T(n)= T(n/2)+ 1 8 输入大小和问题实例 输入

文档评论(0)

1亿VIP精品文档

相关文档