앞선 포스트에서 시간복잡도와 공간복잡도에 대한 개념에 대해 알아보았다. 복잡도란 언급했듯이 특정한 알고리즘이 계산적으로 얼마나 복잡한지를 나타내는 것이다.
파이썬에서는 실제로 프로그램 수행 시간과 메모리 사용량을 측정할 수 있다. 시간복잡도의 개념에서 프로그램의 수행 시간을 측정하는 것은 해당 알고리즘이 복잡도 측면에서 얼마나 효율적인 지를 측정하는 것과 같다고 할 수 있다. 파이썬에서 수행 시간을 측정하는 소스코드는 아래와 같다.
import time
start_time = time.time() # 시간 측정 시작
#프로그램 소스코드
end_time = time.time() # 시간 측정 완료
print("time : ", end_time - start_time) # 수행시간 (시작 시간 - 완료 시간) 출력
수행 시간을 측정하는 소스코드를 사용해서 선택정렬과 기본 정렬 라이브러리의 수행 시간을 비교하는 코드를 작성해보자.
'Algorithm' 카테고리의 다른 글
그리디 (Greedy) (2) - 실전문제 3.2) 큰 수의 법칙 (0) | 2023.07.22 |
---|---|
그리디 (Greedy) (1) - 그리디 알고리즘이란? / 예제 3.1) 거스름돈 (0) | 2023.07.19 |
복잡도 (Complexity) (3) - 공간복잡도 (0) | 2023.07.19 |
복잡도 (Complexity) (2) - 시간복잡도 (0) | 2023.07.19 |
복잡도 (Complexity) (1) - 빅오 (Big-O) 표기법 (0) | 2023.07.19 |