-
[자료구조/알고리즘] 퀵 정렬(quick sort) - ItisFutureAlgorithm/theory 2022. 9. 13. 19:45
퀵 정렬은
기준을 정하고(대개는 첫번째 데이터) 기준 보다 낮으면 왼쪽, 크면 오른쪽으로 재귀 함수 통해 정렬하는 것이다.
시간 복잡도는 평균적으로 O(N logN)이고 최악은 O(N^2)이다.
def qsort(data): if len(data) <= 1: return data pivot = data[0] left = [ item for item in data[1:] if pivot > item ] right = [ item for item in data[1:] if pivot <= item ] return qsort(left) + [pivot] + qsort(right)
아름다워,,
'Algorithm > theory' 카테고리의 다른 글
[자료구조/알고리즘] 링크드 리스트 자료구조 - ItisFuture (0) 2022.09.13