Big-O Reading

복잡도 판단 순서

시간복잡도와 공간복잡도는 코드 줄 수가 아니라 입력 크기가 커질 때 반복, 재귀, 추가 저장공간이 어떻게 늘어나는지를 읽는 방법입니다.

O(1)입력과 무관
O(log N)절반씩 축소
O(N)한 번 훑기
O(N²)쌍 비교
01

입력 크기 정의

N이 배열 길이인지, 노드 수인지, 간선 수인지 먼저 정합니다.

02

반복문 세기

중첩 반복문과 반복 범위가 입력에 따라 어떻게 변하는지 봅니다.

03

지배항 남기기

큰 입력에서는 가장 빠르게 커지는 항이 전체 비용을 지배합니다.

04

공간도 분리

원본 입력이 아니라 알고리즘이 추가로 쓰는 메모리를 따로 봅니다.

오판 방지

  • 반복문이 두 개여도 독립 반복이면 O(N²)이 아닐 수 있습니다.
  • 정렬을 먼저 하면 O(N log N) 비용이 전체 판단에 포함됩니다.
  • 해시 구조는 평균과 최악의 경우를 구분해 설명합니다.

대표 신호

halvelog N
single passN
nested
sortN log N