본문 바로가기

Programming [Python]/파이썬 알고리즘 툴

#1 [퀵 정렬 - Quick Sort] 파이썬 구현

설명: 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)