伙计,假设我有一个名为sortAndPrint(int[] array)
的方法。在方法内部,我有一个算法,使用Quicksort算法对array
进行排序,然后打印array
的所有元素。我的问题是,这两项操作的总时间复杂度 - 排序和打印 - 是O(n)
还是O(n + logN)
?提前谢谢!
public void sortAndPrint(int[] array){
//Use Quicksort alrogithm to sort the array first
...........
...........
//Print all of the elements of the array
..........
..........
}
答案 0 :(得分:0)
O(nlogn)+O(n)
〜O(nlogn)
(平均快速排序O(nlogn)
最坏情况O(n^2)
)
O(nlogn)
支配O(n)
..所以它是O(nlogn)
。整个程序复杂。就这么简单。
对于大n,快速排序将比O(n)
打印花费更多时间。
注意:您如何提出O(n+logn)
?不应该是O(n+nlogn)
吗?
答案 1 :(得分:-1)
是O(nlogn)。在符号O(n)+ O(n)+ O(n)= O(n)
中