728x90
복잡도란
- 알고리즘의 성능을 나타내는 척도
- 크게 시간 복잡도, 공간 복잡도로 나눌 수 있다.
시간 복잡도
- 특정한 크기의 입력에 대해 알고리즘이 얼마나 오래 걸리는지를 의미한다.
- 알고리즘을 위해 필요한 연산의 횟수
- 복잡도를 표현하기 위해 빅오 표기법을 사용한다.
- 최악의 경우에 대한 연산 횟수가 가장 중요하다.
- N의 범위에 따라 시간 복잡도를 계산하고 사용할 수 있는 알고리즘을 선택하는 방법도 있다.
빅오 표기법 | 표현 |
O(1) | 상수 |
O(logN) | 로그 |
O(N) | 선형 |
O(NlogN) | 로그 선형 |
O(N^2) | 다항 |
O(2^n) | 지수 |
공간 복잡도
- 특정한 크기의 입력에 대해 알고리즘이 얼마나 많은 메모리를 차지하는지를 의미한다.
- 알고리즘을 위해 필요한 메모리의 양
728x90
'알고리즘 > 개념' 카테고리의 다른 글
Stack 이란 (0) | 2021.06.06 |
---|---|
Hash, HashMap에 대하여 (0) | 2021.05.26 |
[알고리즘] 투포인터(Kotlin) (0) | 2021.05.24 |
java - 배열(Array)에 대하여 (0) | 2021.05.19 |
댓글