정의: 알고리즘의 성능을 나타내는 척도
종류: 시간 복잡도, 공간(메모리) 복잡도
* 일반적으로 복잡도라고 하면 시간 복잡도를 의미한다.
표기 방법: 빅오 표기법
* 빅오(Big-O) 표기법이란, 구현한 알고리즘을 시간 혹은 메모리에 대한 함수로 나타낸 후, 그 함수의 상한만을 고려한 표기방식이다.
주의 사항: 소스 코드를 정확히 분석하여 복잡도를 계산하여야 한다. 만약 내부적으로 함수를 호출한다면 내부 함수도 복잡도를 계산해주어야 한다.
코딩 테스트 시 제한 기준 (일반적인 상황)
- 시간 복잡도: 1초, O(N^3)
- 공간 복잡도: 128~512MB
수행 시간 측정 방법
import time
start_time = time.time()
```
시간 측정할 알고리즘
```
end_time = time.time()
print("소요 시간(초):", end_time - start_time)
728x90
'All-round developer > Computer Science' 카테고리의 다른 글
[알고리즘] DFS(Depth-First Search)와 BFS(Breadth-First Search) (0) | 2025.04.03 |
---|---|
[자료구조] 그래프(Graph)와 탐색(Search) (0) | 2025.04.02 |
[자료구조] 스택(stack)과 큐(queue) (0) | 2025.04.01 |
[알고리즘] 구현(Implementation) (1) | 2025.03.25 |
[알고리즘] 단순 무식한 그리디(Greedy) 알고리즘 (0) | 2025.03.25 |