의 수행시간을 가진다.
(수행시간이 짧을수록 좋은 성능의 알고리즘이라고 평가)
예) for 루프의 반복횟수, 특정한 행이 수행되는 횟수, 함수의 호출횟수, ...!
sample1(A[ ], n){
k = floor(n/2); // 바닥함수
return A[k];
}
sample2(A[ ], n){
sum = 0;
for i=1 to n
sum = sum + A[i];
return sum;
sample3(A[ ], n){
sum = 0;
for i=1 to n
for j=1 to n
sum = sum + A[i]*A[j];
return sum;
sample4(A[ ], n){
sum = 0;
for i=1 to n
for j=1 to n {
k=A[1...n]에서 임의로 floor(n/2)개를 뽑을 때 이들 중 최댓값 ;
sum = sum+k;
}
return sum;
sample5(A[ ], n) {
sum = 0;
for i=1 to n-1
for j=i+1 to n
sum = sum + A[i]*A[j];
return sum;
}
i | 부터~까지 | 반복 횟수 |
---|---|---|
i=1 | 2~n | n-1번 반복 |
i=2 | 3~n | n-2번 반복 |
i=3 | 4~n | n-3번 반복 |
i=n-1 | n-1~n | 1번 반복 |
factorial(n) {
if (n=1) return 1;
return n*factorial(n-1);
}
factorial()이 호출되는 것이 시간을 좌우