我發現這個函數是用python寫在互聯網上的,我很困惑,如果它是一個快速排序或不是因爲它被寫入一行而且它工作的很好很快,我認爲它與O(N * log n)的,即使在最壞情況下的複雜工作,所以這是代碼: def qsort(L):
return (qsort([x for x in L[1:] if x < L[0]]) +\
L[0:1] + \
qsort(
嗨讀一本調用子例程被認爲是一個常量時間操作的書,即使子例程本身不是在恆定時間內執行,但取決於輸入大小。 然後,如果我有以下的代碼: void func(int m){
int n = 10;
subrout(m);//function which complexity depends on m
subrout2(n);//function which complexity d
我有順序搜索的排序的數組的算法的平均情況複雜: SequentialSearch(A[0..n-1],K)
i=0
while i < n and A[i] != K do
i = i+1
if i < n then return i
else return -1
,我們有一個輸入數組A[0...n-1]和關鍵搜索K 我知道,最壞的情況是n,因爲我們必須搜索整個陣列,因此n
我想弄清楚以下2種算法的大O符號,但我遇到了麻煩。 第一個是: public static int fragment3 (int n){
int sum = 0;
for (int i = 1; i <= n*n; i *= 4)
for (int j = 0; j < i*i; j++)
sum++;
return sum;
} //end fragment