这种伪代码算法的运行时间

时间:2013-12-15 23:02:56

标签: algorithm runtime quicksort mergesort

以下算法的运行时间是什么:

algo1(int n){
   i = n*n;
   while(i > 1){
      i = i/2;
   }
}

说while循环执行log(n ^ 2)次是否正确,相当于2log(n),因此运行时间为theta(logn)

现在,看看第二个算法:

algo2(int A[0...n-1], int n){
   mergeSort(A, 0, n-1);
   quickSort(A, 0, n-1);
}

mergeSort将在时间O(nlog(n))中执行运行。假设quickSort总是选择数组右端的元素作为枢轴,那么快速排序的运行时间将是最坏的情况O(n ^ 2)。那么运行时将是theta(n ^ 2)?

感谢您的帮助!

0 个答案:

没有答案