티스토리 뷰

반응형

복잡도(Complexity)

 

알고리즘의 성능을 어떻게 평가할 수 있을까?

 

흔히 우리는 복잡도(Complexity)를 이용하여 알고리즘을 평가할 수 있다.

 

이 때 복잡도는 시간 복잡도와 공간 복잡도로 구성된다.

 

시간 복잡도: 알고리즘의 수행 시간 분석

공간 복잡도: 알고리즘의 메모리 사용량 분석

 

같은 기능을 수행하는 알고리즘이 있다면, 복잡도가 낮을숙록 좋은 알고리즘이라고 할 수 있다.

(기업의 코딩 테스트에서도 요구사항(복잡도)를 고려해야 불미스러운 사고를 예방할 수 있다...)

 

 

빅오 표기법(Big-O Notation)

 

그렇다면 복잡도를 어떻게 구체적으로 표기할 수 있을까?

그 방법 중 하나는 바로 빅오 표기법(Big-O Notation)이다.

빅오 표기법은 가장 빠르게 증가하는 항만을 고려하는 표기법이다. (함수의 상한만을 나타냄)

 

예를 들어 5N^2 + 10N + 10000이라고 할 때 빅오 표기법은 O(N^2) 라고 표기할 수 있는 것이다.

 

아래는 빅오 표기법의 성능 비교이다. 

 

 

 

'파이썬' 카테고리의 다른 글

자료구조 - 큐 (Queue)  (0) 2023.01.05
자료구조 - 스택(Stack)  (0) 2023.01.03
파이썬 알고리즘 - 구현  (0) 2023.01.01
그리디 알고리즘 (Greedy Algorithm)  (0) 2022.12.29
파이썬 리스트(List)  (0) 2022.12.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함