본문 바로가기

알고리즘

알고리즘 시간복잡도

시간복잡도란 가장 널리 사용되는 알고리즘의 수행 시간 기준

기본적인 연산의 수를 입력의 크기에 대한 함수로 표현한 것

 

알고리즘의 수행시간을 지배하는것은 반복문

 

 

선형 시간 알고리즘

시간복잡도가 N으로 실행되는 알고리즘

 

선형이하 시간 알고리즘

입력의 크기가 커지는 것보다 수행시간이 느리게 증가하는 알고리즘

이진 탐색

 

지수 시간 알고리즘

다하시간 알고리즘

N보다 더 오래걸리는 알고리즘

 

 

대문자 O 표기법 (Big-O Notation)

O표기법은 가장 빨리 증가하는 항만을 남긴 채 나머지를 다 버리는 표기법

만약에 3*5*N 이라고 되있으면 3과 5를 때어낸 N 즉 O(N)이라고 쓴다.

항상 같은 시간이 걸린다면 (즉 50번만 하면 답이 나오는 문제) O(1)이라고 쓰고 상수 시간 알고리즘 이라고 부른다.

 

시간복잡도를 항상 반복문으로 결정하지는 않는다. 가끔 더 정확한 시간복잡도가 필요한데

분할 상환 분석을 사용하면 된다. 하지만 코테만 볼거면 공부할 필요는 없는듯...

 

 

 

'알고리즘' 카테고리의 다른 글

4256 트리  (0) 2021.08.21
6416 백준 트리인가?  (0) 2021.08.20
21939 백준  (0) 2021.08.18
백준 1500 최대 곱  (0) 2021.08.13
백준 2169 로봇조종하기  (0) 2021.08.13