알고리즘의 효율 측정 방법이다.
1. 수행되는 연산의 개수를 대략적으로 판단
int sum = 0; // 1
int sum = 0;
for(int i=0;i<n;i++)
{
sum+=i;
} //n+1
int sum = 0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
sum+=1;
}
} //n^2+1
2. 계수는 무시한다.
O(4N^2 + 3N + 1) => O(N^2)

Big-O 표기법은 입력 N의 크기에 따라 성능이 영향 받는 정도를 나타낸다. N^2는 효율이 나빠 실전성이 없다.
log n 함수는 그래프처럼 효율이 매우 좋은데, 업다운 게임을 예시로 들 수 있다.

맨 위가 로그 함수의 형식이고 업다운 게임을 통해 숫자 78을 찾는다고 하자. 그렇다면 처음에 N개 (100개)의 데이터가 있을 것이고 2분의 1을 곱하는 것을 계속해서 데이터를 반씩 줄여나가고 1이되면 정답이 도출된다. 그 식을 도출해보면
로그함수의 형태를 띄는 것을 알 수 있다.
'알고리즘' 카테고리의 다른 글
| [알고리즘] 다익스트라 알고리즘 (0) | 2022.06.30 |
|---|---|
| [알고리즘] BFS(너비 우선 탐색) (0) | 2022.06.28 |
| [알고리즘] DFS(깊이 우선 탐색) (0) | 2022.06.28 |
| [알고리즘] 그래프 표현 방법 (0) | 2022.06.28 |
| [알고리즘] 벡터와 메모리 (0) | 2022.06.24 |