자료구조 알고리즘

[자료구조] 빅오(Big-O)표기법 / 시간복잡도

young1403 2022. 4. 26. 02:09

Big-O

 

알고리즘의 실제 러닝타임보다 데이터나 사용자의 증가율에 따른 알고리즘의 성능을 예측하는 것이 목표이다.

예를 들면 데이터가 무한대로 커졌을 때를 상상해보자. 1+1+1+1....+1 은 2*2*2*2*2......*2에 비하면 아주 미비하게 작아 보일 것이다.

전자의 경우 무한대로 가면 x좌표와 맞닿아있다고 생각할 수도 있다. { O(N+N) => O(N) , O(N^2+N^2) => O(N^2)}

이것을 바탕으로 Big-O표기법을 보면 조금 더 이해가 쉬워진다.

 

  •  O(1)

  •  O(N)

  •  O(N^2)

 

  •  O(NM)

 

  •  O(N^3)

  •  O(2^N)   Fibonacci Numbers

  •  O(logN)     Binary Search