알고리즘 효율성을 측정하는 가장 기본적인 방법은 시간과 메모리를 측정하는 것이다.
파이썬에서는 해당 작업이 가능한데,,
수행시간 측정
import time
#측정 시작
start_time = time.time()
# 코드
#측정 종료
end_time = time.time()
#출력
print("time :", end_time-start_time)
예시
from random import randint
import time
array = []
for _ in range(10000):
array.append(randint(1, 100))
start_time = time.time()
# 기본정렬 라이브러리
array.sort()
end_time = time.time()
print("기본 정렬 라이브러리 성능 측정 :", end_time - start_time)
array = []
for _ in range(10000):
array.append(randint(1, 100))
start_time = time.time()
# 선택 정렬
for i in range(len(array)):
min_index = i
for j in range(i + 1, len(array)):
if array[min_index] > array[j]:
min_index = j
array[i], array[min_index] = array[min_index], array[i]
end_time = time.time()
print("선택 정렬 성능 측정 :", end_time - start_time)
참고 : 이것이 코딩테스트다 - 동빈 나
'Computer Science > 자료구조와 알고리즘' 카테고리의 다른 글
[프로그래머스\SQL 고득점 kit] SUM, MAX, MIN :Mysql (0) | 2021.12.17 |
---|---|
[프로그래머스\SQL 고득점 kit] SELECT문 :Mysql(1~7번), Oracle(7번) (0) | 2021.12.12 |
[프로그래머스/JAVA] 해시 - Lv1 완주하지 못한 선수 (2) | 2021.07.14 |
[JAVA] 백준 2675번 : 문자열 반복 (0) | 2021.07.10 |
[Algorithm] Exhaustive Search(완전검색), Greedy Algorithm(탐욕 알고리즘), Sort(정렬) (0) | 2021.07.07 |