나는이 추한 알고리즘을 가지고 있습니다 (예, 컴퓨터 과학 과정이므로 의도적으로 추악합니다). 우리는 다른 방법을 사용하여 복잡성을 찾아야합니다. 방법 중 하나는 후진 대체입니다. 알고리즘을 살펴보면 인스턴스 크기가 모든 재귀 호출에서 3으로 나뉘기 때문에 복잡성이 log (n - m) 범위의 어딘가에 있음을 알 수 있습니다. Function WeirdSo
나는 시간 복잡성을 찾기 위해 묻는이 질문을 만났다. int count = 0;
for (int i = N; i > 0; i /= 2) {
for (int j = 0; j < i; j++) {
count += 1;
}
}
이 첫 번째 루프 logn이고, 두 번째는 n 그대로 시간 복잡도가 O(
조합 시간 : 숫자 편곡 및 숫자의 배열을 감안할 때,이 솔루션은 S. 에 그 합이 최대 편곡에 4 개 개의 번호를 찾을 수 : function findArrayQuadCombination(arr, S):
if (arr == null OR S == null):
return null
n = length(arr)
if (n
이 메서드는 num을 ar에있는 요소의 곱으로 표현하려고합니다. 예 방법 항목에 대한 (37, [1,3,5]) 반환 [2,0,7] // arr is an array of divisors sorted in asc order, e.g. [1,3,5]
def method1(num, arr)
newArr = Array.new(arr.size, 0)
제 질문이 의미가 되길 바랍니다. I는 S1과 S2는 상수 동작 for i ← 1 to n Do
for j ← i to n Do
S1
for k ← 1 to j do
S2
제가 T(n) = ∑ni=1 ∑nj=i ∑jk=1 1
I는 식 마련하려고 갖는다 의사 코드의 다음 부분에 대한
그래서 최근에 나는이 프로그래밍 문제를 해결하여 복잡성을 줄이는 것처럼 보지 못했습니다. 현재 코드는 O (n^2)에서 실행됩니다. 본질적으로, 나는 양수와 음수 모두 네 개의 서로 다른 목록 (파이썬 btw를 사용)을 가지고 있는데, 목록 A, B, C, D를 말합니다. 이제 이들 목록 각각에는 1000 개의 정수가 있습니다. -25000 ~ 25000
int foo(int n)
{
if(n==0)
return 1;
int sum = 0;
for(int i = 0;i < n;i++)
sum += foo(n-1);
return sum;
}
최근에 Big O 표기법을 배우고 있습니다. big-O 표기법을 사용하여이 반복 함수의 런타임을 결정하는
P를 찾을 psuedocode 알고리즘이다 peakreturn(H)
for p=1 to m //m is the length of H
if H[p-1] ≤ H[p] and H[p] ≥ H[p+1] then return p
return nil // only returns this if there is no peak
하는 "P"가 피크 소자이고이