- 1
- 0
- 约6.35千字
- 约 37页
- 2018-07-12 发布于江苏
- 举报
一算法概述
算法分析方法 例:顺序搜索算法 public int seqSearch(Object [ ]a, int n, Object k) { for(int i=0;in;i++) if (a[i]==k) return i; return -1; } (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)的排序算法是最优算法。 堆排序算法与快速排序算法是最优算法。 递归算法复杂性分析 public static int fact
原创力文档

文档评论(0)