1.1 복잡도 개념

1.2 복잡도 표기법

1.2.1 빅오(O)

$$ T(n)=O(f(n)) $$

1.2.2 빅오메가(Ω):

$$ T(n)=Ω(g(n)) $$

1.2.3 빅세타(Θ):

$$ T(n)=Θ(h(n)) $$

<aside> 💡 일반적인 알고리즘 연산에서 평균값에 가장 근사한 표기법은 빅세타(Θ) 입니다. 하지만, 최악의 경우에 대한 보장과 알고리즘 간의 비교를 위해 빅오(O) 표기법을 주로 사용합니다.

복잡도 표기법에서는 알고리즘의 실행 시간 함수에서 가장 큰 항만 남겨두는 것이 핵심입니다.

예를 들어 $T(n)$ = $2n^2$ + $n$ + 1의 경우, 가장 큰 항은 $2n^2$입니다. 따라서 가장 큰 항이 영향을 크게 미쳐 다른 항들은 상대적으로 무시가 될 수 있습니다.

이 함수의 복잡도 표기법은 다음과 같이 작성됩니다.

$$ T(n) = O(n^2) $$

이것은 주어진 알고리즘이 입력 크기 $n$에 대해 최대 O($n^2$)에 비례하는 시간이 소요된다는 것을 의미합니다.

</aside>