성능
- 문제에 대한 여러 가지 해결 방법 중 가장 효율적이고 사용 환경에 최적인 알고리즘을 결정하는 방법
알고리즘 분석 기준
- 정확성
- 올바른 입력이 들어왔을 때 정해진 시간 내에 올바른 결과를 출력하느냐
- 명확성
- 알고리즘이 얼마나 이해하기 쉬고 명확하게 작성되었는가를 판단
- 수행량
- 알고리즘의 특성을 나타내는 중요 연산들을 분석
- 최적성
- 시스템의 사용 환경에 따라 수행량과 메모리 사용량이 달라지기 때문에 환경에 최적화되어 있는가를 판단
알고리즘 분석 방법
- 공간 복잡도
- 실행하고 완료하는데 필요한 저장 공간 의미
- 고정 공간 + 가변 공간
- 고정 공간 : 프로그램의 크기나 입출력의 횟수에 상관없이 고정적으로 필요한 저장공간 (ex. 변수, 상수)
- 가변 공간 : 실행 과정에서 사용하는 데이터와 변수들을 저장하는 공간과 함수 실행에 관련된 정보를 저장하는 공간이다.
- 시간 복잡도
- 컴파일 시간 + 실행 시간
- 실행 빈도수를 계산하여 실행 시간을 구한다.
- 알고리즘에 따라 logn, n, nlogn, n2, n3, 2n으로 실행 시간 함수가 있다.