0
有人能幫我找到這兩個函數的大O:大O
int sum(int A[], int i, int n) {
if (n == 1)
return A[i];
return sum(A, i, n/2) + sum(A, i + n/2, (n+1)/2);
}
和的「排序」功能:
void swap(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}
void swapMin(int A[], const int& index) {
int indexMin = index;
for (int i = index-1; i >= 0; --i)
if (A[i] < A[indexMin])
indexMin = i;
swap(A[index], A[indexMin]);
}
void sort(int A[], int n) {
for (int i = n-1; i >= 0; --i)
swapMin(A, i);
}
我相信第一是O(1),第二個是O(n),但我不確定這是否正確。
你要問一個更確切的問題 - StackOverflow上不是要求人們做你的工作你;描述你已經嘗試過什麼,以及你被困在哪裏。 FIY,第一個是O(n - i),第二個是O(n^2) – 2014-11-03 05:19:31