주어진 문제를 해결하기 위한 연산 횟수(실행 속도)
효율성 - 시간 : 연산양, 공간 : 메모리
일반적으로 1억번의 연산 = 1초
시간 복잡도 표기법
- 빅-오메가 : 최선(best case)일때 연산 횟수
Q1. 빅-오 계산하기
크기가 n인 배열 arr 에 대해 다음 코드의 연삿 횟수를 빅-오 표기법으로 구하세요.int total = 0; for (int i=0; i<3; i++){ for(int j=0; j<n; j++){ total += arr[j]; } }
int [] arr = new int[6];
합 배열을 이용하여 시간 복잡도를 줄이기 위해 사용하는 알고리즘
합 배열을 만드는 공식(배열A, 합 배열 S)
S[i] = S[i-1] + A[i]
total < n → end 전진 (값 증가)
total == n → cnt++, start 전진
total > n → start 전진 (값 감소)
start와 end 이동 시 갱신(증가/감소)
👉 for문으로 구현 X