728x90 퀵정렬1 [Algorithm] 병합 정렬, 퀵 정렬 병합 정렬 (Merge Sort) 여러 개의 정렬된 자료의 집합을 병합하여 한 개의 정렬된 집합으로 만드는 방식 분할 정복 알고리즘 활용 자료를 최소 단위까지 나눈 후, 차례대로 정렬하여 최종 결과 얻어냄 top-down 방식 시간 복잡도 : O(nlogn) # 병합 def merge(left, right): # left: [1] # right: [3, 4, 5] result = [] while len(left) > 0 and len(right) > 0: if left[0] 0: result.extend(right) if len(left) > 0: result.extend(left) return result # 분할 def merge_sort(arr): if len(arr) right: break # 만.. 2021. 10. 6. 이전 1 다음 728x90