복잡도(Complexity)란?
복잡도 = 알고리즘의 성능을 나타내는 척도
복잡도는 두 가지로 나눌 수 있다.
- 시간 복잡도(Time Complexity)
- 특정한 크기의 입력에 대하여 알고리즘이 얼마나 오래 걸리는지를 의미
- 알고리즘을 위해 필요한 연산의 횟수
- 공간 복잡도(Space Complexity)
- 특정한 크기의 입력에 대하여 알고리즘이 얼마나 많은 메모리를 차지하는지 의미
- 알고리즘을 위해 필요한 메모리의 양
- 512MB = 1.2억개의 int
동일한 기능을 수행하는 알고리즘이 있다면 일반적으로 복잡도가 낮을수록 좋은 알고리즘이다.
출처 : 이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저)
'Algorithm > 개념 정리' 카테고리의 다른 글
논리 연산과 드모르간 법칙 (0) | 2022.11.08 |
---|---|
시간 복잡도 (Time Complexity) (0) | 2022.11.07 |
Unfold Recursion (0) | 2021.04.15 |
Merge Sort (0) | 2021.04.14 |
Divide and Conquer Algorithm (0) | 2021.04.14 |