알고리즘에서 '병합 정렬(Merge Sort)'이 퀵 정렬과 비교하여 가지는 장점으로 올바른 것은?
보통 freeCodeCamp해설
병합 정렬은 분할 정복 방식으로 배열을 반으로 나누고, 정렬된 부분 배열을 합병합니다. 피벗 선택에 따라 최악 O(n²)이 될 수 있는 퀵 정렬과 달리, 항상 O(n log n)을 보장합니다. 단, O(n)의 추가 메모리가 필요하고, 연결 리스트 정렬에 특히 유리합니다.
병합 정렬은 분할 정복 방식으로 배열을 반으로 나누고, 정렬된 부분 배열을 합병합니다. 피벗 선택에 따라 최악 O(n²)이 될 수 있는 퀵 정렬과 달리, 항상 O(n log n)을 보장합니다. 단, O(n)의 추가 메모리가 필요하고, 연결 리스트 정렬에 특히 유리합니다.