본문 바로가기
Major/#알고리즘(Algorithm)

알고리즘 복잡도의 점근적 표기 (Asymptotic Notation of Algorithmic Complexity)

by Bright_Between 2023. 7. 9.
반응형

알고리즘의 복잡도를 표현하는 방법 중에서 가장 흔히 사용되는 것은 점근적 표기법(asymptotic notation)입니다. 점근적 표기법은 알고리즘의 실행 시간 또는 공간 요구량과 입력 크기 사이의 관계를 표현하는데 사용됩니다. 이 중에서도 가장 많이 사용되는 세 가지 표기법은 Big O 표기법(O 표기법), Big Omega 표기법(Ω 표기법), 그리고 Theta 표기법(Θ 표기법)입니다.

 



1. Big O 표기법 (O 표기법):
Big O 표기법은 알고리즘의 최악의 실행 시간을 나타냅니다. 즉, 입력의 크기에 대해 알고리즘의 실행 시간이 상한을 의미합니다. Big O 표기법은 실행 시간의 상한을 나타내므로 알고리즘의 성능을 최악의 경우로 제한하는 역할을 합니다. Big O는 함수의 "O" 표기를 사용하며, O(f(n))으로 표기합니다. 여기서 f(n)은 입력의 크기 n에 대한 함수입니다. 예를 들어, O(n), O(n^2), O(log n) 등이 있습니다.

2. Big Omega 표기법 (Ω 표기법):
Big Omega 표기법은 알고리즘의 최선의 실행 시간을 나타냅니다. 즉, 입력의 크기에 대해 알고리즘의 실행 시간이 하한을 의미합니다. Big Omega 표기법은 실행 시간의 하한을 나타내므로 알고리즘의 성능을 최선의 경우로 제한하는 역할을 합니다. Big Omega는 함수의 "Ω" 표기를 사용하며, Ω(f(n))으로 표기합니다. 여기서 f(n)은 입력의 크기 n에 대한 함수입니다. 예를 들어, Ω(n), Ω(n^2), Ω(log n) 등이 있습니다.

3. Theta 표기법 (Θ 표기법):
Theta 표기법은 알고리즘의 평균 실행 시간 또는 최선과 최악의 실행 시간 사이의 균형을 나타냅니다. 즉, 입력의 크기에 대해 알고리즘의 실행 시간이 상한과 하한을 동시에 만족하는 경우를 의미합니다. Theta 표기법은 실행 시간의 상한과 하한을 동시에 나타내므로 알고리즘의 성능을 평균적으로 제한하는 역할을 합니다. Theta는 함수의 "Θ" 표기를 사용하며, Θ(f(n))으로 표기합니다. 여기서 f(n)은 입력의 크기 n에 대한 함수입니다. 예를 들어, Θ(n), Θ(n^2), Θ(log n) 등이 있습니다.

 

 

 

이 세 가지 표기법은 알고리즘의 성능을 다양한 측면에서 표현하며, 각각의 의미와 사용 사례는 다음과 같습니다:

- Big O 표기법 (O 표기법): Big O 표기법은 알고리즘의 실행 시간 상한을 표현합니다. 즉, 알고리즘의 실행 시간이 입력 크기에 따라 어떻게 증가하는지를 보여줍니다. O 표기법은 최악의 경우에 대한 상한을 제공하므로, 알고리즘이 얼마나 느릴 수 있는지에 대한 정보를 제공합니다. 예를 들어, O(n)은 입력 크기에 비례하여 선형적으로 증가하는 실행 시간을 의미합니다.

- Big Omega 표기법 (Ω 표기법): Big Omega 표기법은 알고리즘의 실행 시간 하한을 표현합니다. 즉, 알고리즘의 최선의 경우에 대한 실행 시간 하한을 제공합니다. Ω 표기법은 알고리즘이 얼마나 빠를 수 있는지에 대한 정보를 제공하며, 알고리즘의 최상의 성능을 보장합니다. 예를 들어, Ω(n^2)는 입력 크기에 비례하여 이차적으로 증가하는 실행 시간을 의미합니다.

- Theta 표기법 (Θ 표기법): Theta 표기법은 알고리즘의 평균 실행 시간 또는 최선과 최악의 실행 시간 사이의 균형을 표현합니다. 즉, 알고리즘의 평균적인 동작을 나타내며, 최선 및 최악의 경우에 대한 실행 시간도 상한과 하한을 갖습니다. Θ 표기법은 알고리즘의 전반적인 성능을 나타내며, 알고리즘의 평균적인 실행 시간을 제공합니다. 예를 들어, Θ(n)은 입력 크기에 비례하여 선형적으로 증가하는 평균 실행 시간을 의미합니다.

알고리즘의 복잡도 분석을 통해 이러한 표기법을 사용하여 알고리즘의 성능을 추정하고 비교할 수 있습니다. 

반응형

댓글