설명: https://ko.wikipedia.org/wiki/%ED%80%B5_%EC%A0%95%EB%A0%AC
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
lesser_arr, equal_arr, greater_arr = [], [], []
for num in arr:
if num < pivot:
lesser_arr.append(num) #작은 리스트로 보내기
elif num > pivot:
greater_arr.append(num) #큰 리스트로 보내기
else:
equal_arr.append(num)
#작은 리스트와 큰 리스트끼리 다시 재귀하여 퀵정렬
return quick_sort(lesser_arr) + equal_arr + quick_sort(greater_arr)
'Programming [Python] > 파이썬 알고리즘 툴' 카테고리의 다른 글
#2 [이분 탐색 - Binary Search] 파이썬 구현 (0) | 2019.11.21 |
---|