第2章 算法分析基础.pptVIP

  • 4
  • 0
  • 约9.87千字
  • 约 51页
  • 2019-10-26 发布于湖北
  • 举报
(1)Tmax(n) = max{ T(I) | size(I)=n }=O(n) (2)Tmin(n) = min{ T(I) | size(I)=n }=O(1) (3)在平均情况下,假设: (a) 搜索成功的概率为p ( 0 ? p ? 1 ); (b) 在数组的每个位置i ( 0 ? i n )搜索成功的概率相同,均为 p/n。 算法分析的基本法则 非递归算法: (1)for / while 循环 循环体内计算时间*循环次数; (2)嵌套循环 循环体内计算时间*所有循环次数; (3)顺序语句 各语句计算时间相加; (4)if-else语句 if语句计算时间和else语句计算时间的较大者。 最优算法 问题的计算时间下界为?(f(n)),则计算时间复杂性为O(f(n))的算法是最优算法。 例如,排序问题的计算时间下界为?(nlogn),计算时间复杂性为O(nlogn)的排序算法是最优算法。 堆排序算法是最优算法。 非递归算法分析 1.仅依赖于问题规模的时间复杂度 有一类简单的问题,其操作具有普遍性,也就是说对所有的数据均等价地进行处理,这类算法的时间复杂度,很容易分析。 【例1】交换i和j的内容 Temp=i;i=j;j=temp; 以上三条单个语句的频度均为1,该算法段的执行时间是一个与问题规模n无关的常数。算法的时间复杂度为常数阶,记作T(n

文档评论(0)

1亿VIP精品文档

相关文档