알고리즘의 성능을 평가
하는 방법 입니다.컴퓨터 프로그램의 입력값과 연산 수행 시간의 상관관계를 나타내는 척도
입니다.문제를 해결하는 데 걸리는 시간을 분석한 결과
입니다.알고리즘 수행에 필요한 연산 횟수
를 나타냅니다. (연산의 종류는 산술, 대입, 비교, 이동을 말합니다)데이터 n개를 처리하는 시간을 n의 가장 큰 차수
로 표현합니다.A
의 값이 어디 있는지 찾아야 합니다. 하나의 값을 확인하는 데 걸리는 시간이 1초라고 가정했을 때 A
가 가장 앞에 있다면 해당 문제는 1초만에 해결됩니다. 하지만 그렇다고 선형 탐색
을 O(1)로 표현하지 않습니다. 이처럼 시간복잡도는 최선
,평균
,최악
중 최악
의 경우로 시간복잡도를 평가합니다.프로그램을 실행시킨 후 완료하는 데 필요로 하는 자원 공간의 양
이 얼마인지를 나타냅니다.문제를 해결하는 데 필요한 메모리 공간을 분석한 결과
입니다.총 필요한 저장 공간 = 고정 공간 + 가변 공간
입니다.
고정 공간
: 알고리즘과 무관한 공간입니다.(ex-코드 저장 공간, 단순 변수 및 상수를 저장한 공간가변 공간
: 알고리즘을 실행하면서 동적으로 필요한 공간 -> 공간복잡도
는 가변 공간
에 큰 영향을 받게 됩니다.