memostack
article thumbnail
시간 복잡도 (빅오, 빅오메가, 빅세타)
Algorithm 2020. 6. 3. 22:52

시간 복잡도란? 시간 복잡도는 특정 알고리즘이 얼마나 빠르게 수행이되는지 표현하기 위해 사용된다. 즉, 시간복잡도는 쉽게 말해서 알고리즘의 실행 시간을 말한다. 시간 복잡도의 종류 빅오 (big-O) 표기법 시간의 상한 (최악의 경우) 해당 알고리즘은 big-O 보다 더 오래 걸릴 수 없다. 빅오메가 (big-Omega) 표기법 시간의 하한 (최선의 경우) 해당 알고리즘은 big-Omega 보다 더 빠를 수 없다. 빅세타 (big-theta) 표기법 평균적인 경우, 딱 맞는 수행 시간 big-O 와 big-Omega 를 하나로 합쳐 표현한것과 같다. 예를들어, 수행시간이 빅오가 N, 빅오메가가 N 이라면, 빅세타도 N 이다. (아래 그림 참조) 가장 많이 쓰이는 표기법 보통은 빅오와 빅세타를 많이 사용하..