Dan-k 2020. 1. 23. 17:48
반응형

이진분할로 중간 pivot을 이용해 데이터를 정렬하는 기법

recursion을 이용하면..간단히(?) 풀 수 있다.

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)
728x90
반응형
LIST