
Algorithm
병합정렬(Merge sort), 힙정렬(Heap sort), 퀵정렬(Quick sort) -BeApro
해당 포스팅은 Do it! 자료구조와 함께 배우는 알고리즘 입문: 파이썬 편을 보고 작성하였습니다. 1. 병합 정렬(Merge Sort) 병합 정렬은 배열을 앞 뒤 두 부분으로 나누어 정렬한 후 병합하는 정렬이다. 위는 크기 8의 병합 정렬되는 과정이다. 크기가 1이 될 때까지 쪼개지고 서로 정렬되면서 병합되는 것을 확인할 수 있다. 쪼개고 합치는데 O(log n) 정렬 할 때마다 O(n)이 걸려 총 O(n log n)이 걸린다. from typing import Sequence, MutableSequence def mergesort(a : MutableSequence)->None: def _mergesort(a:MutableSequence, left:int, right:int)->None: if lef..