데이터과학 삼학년

Quick Sort(퀵 정렬) 본문

Computer Science/Data Structure & Algorithm

Quick Sort(퀵 정렬)

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

'Computer Science > Data Structure & Algorithm' 카테고리의 다른 글

피보나치 수열  (0) 2020.03.04
Bubble Sort (버블 정렬)  (0) 2020.01.24
Counting Sort (계수 정렬)  (0) 2020.01.18
Merge Sort (합병 정렬)  (0) 2020.01.18
Radix Sort (기수 정렬)  (0) 2020.01.18
Comments