알고리즘의 시간 복잡도 또는 이론적 실행 시간 (psuedocode가 주어짐)을 T (n)으로 줄 단위로 계산해야합니다. 나는 그것을 시도해 봤지만, 몇 가지 혼란이있다. 예를 들어, "if"문장의 시간 복잡도는 얼마입니까? 그리고 중첩 된 루프는 어떻게 처리합니까? 코드는 내 시도와 함께 주석으로 처리됩니다.알고리즘의 실행 시간 계산/복잡성
길이 [A] = N
for i = 0 to length[A] - 1 // n - 1
k = i + 1 // n - 2
for j = 1 + 2 to length[A] // (n - 1)(n - 3)
if A[k] > A[j] // 1(n - 1)(n - 3)
k = j // 1(n - 1)(n - 3)
if k != i + 1 // 1(n - 1)
temp = A[i + 1] // 1(n - 1)
A[i + 1] = A[k] // 1(n - 1)
A[k] = temp // 1(n - 1)
나는'O (n^2)'를 얻었다. if 문은 루프의 흐름을 변경하지 않으므로 무시할 수 있습니다. 내부 루프는 외부 루프에 의존하지 않으므로 주어진'n '에 대해'(n-a) * (n-b) = n^2 + ...'번 실행합니다. – Blender
사과드립니다. 나는 미래에 그 태그를 사용하지 않을 것입니다. – aclark