알고리즘 정렬 - 수행 시간 분석
1. 수행시간 분석이란 무엇인가?
- 문제의 크기(입력의 크기)가 증가함에 따라 처리 시간이 얼마나 증가하는지를 분석하는 것
- 입력의 크기: 입력되는 항목의 개수, 문제의 종류에 따라 입력의 종류 바뀜
=> 배열의 크기
=> 다항식의 차수
=> 행렬의 항목 개수
=> 이진으로 표현된 입력의 비트 수
=> 그래프에서의 정점과 간선 등
2. 알고리즘을 비교하는 객관적 기준
1) 실행 시간
: 컴퓨터에 따라 실행 시간이 달라지기 때문에 좋은 기준이 아님
2) 실행된 구문의 수
: 프로그래밍 언어나 프로그래머의 스타일에 따라 구문의 수가 달라지므로 좋은 기준이 아님
3) 이상적인 해법
: 주어진 알고리즘의 수행 시간을 입력 크기 n에 따른 함수 f(n)으로 표현하고 수행 시간에 따라 이함수들을 비교하면 됨
3. 증가율이란?
'데이터 구조와 알고리즘' 카테고리의 다른 글
데이터형, 데이터 구조, 추상 데이터형 (0) | 2017.09.15 |
---|