점근적 표기법  O, Ω, Θ

점근적 표기법이란? 

어떤 함수의 증가 양상을 다른 함수와의 비교로 표현하는 수론과 해석학의 방법이다. 

알고리즘의 복잡도를 단순화 할때나 무한급수의 뒷부분을 간소화 할때 쓰이는 방법이다. 

 

예시) n^3 + n^2 + n -1을 O, Ω, Θ로 표현을 해보자 

O빅오 

가장 높은 차수보다 같거나 높은 식을 뜻한다.

그러므로 , , 이렇게 표현할 수 있다. 이것은 시간 복잡도를 재는 척도로 사용하게 된다. 

 

Ω빅오메가

가장 높은 차수보다 같거나 낮은 식을 뜻한다. 

, , 

 

Θ빅세타 

최고차항을 뜻한다. Θ(n3)

시간복잡도 : 연산의 횟수를 점근적 표기법을 통해 추산적으로 표현하는 것 

대입과 조건문의 시간 복잡도

대입과 조건문의 시간 복잡도는  

 

- 중첩 반복문의 경우에는 n번에 해당하는 반복이 n번 수행하게 되므로 O(n^2)으로 표현될 수 있다. 

 

재귀함수의 시간 복잡도

재귀함수는 반복문과 비슷한 구조를 가지고 있다. 특정 조건을 만족하면 변화된 값을 넣어 해당 함수를 다시 실행시킨다. 

결국 순환구조를 생각해보면서 시간 복잡도를 생각해보면 쉽게 구할 수 있다. 

 

공간복잡도 : 메모리에서 코드가 차지하고 있는 정도

사용하는 배열의 크기에 따라 대략 어느 정도의 메모리를 사용하는지를 미리 계산할 수 있어, 메모리 제한을 넘지 않는 코드인지를 확인해 볼 수 있다. 

 

 

+ Recent posts