Algorithm Guidecomplexity: O(n log n)
병합 정렬 (Merge Sort)
배열을 더 이상 나눌 수 없을 때까지 나눈 후, 정렬하면서 다시 병합하는 안정적이고 일관된 성능을 가진 분할 정복 알고리즘입니다.
01 알고리즘 작동 원리 탐색
Interactive Step-by-StepHOVER OR SCROLL
Merge Sort
38
27
43
10
76
15
병합 정렬을 시작합니다. 배열을 더 이상 나눌 수 없을 때까지 절반으로 나눕니다.
Logic Node1 / 45
Live Python
02 쉽게 이해하기
For Everyone🔑비유
반으로 계속 나눈 뒤, 정렬된 조각들을 지퍼처럼 끼워 합치는 것.
💡쉽게 말하면
배열을 절반씩 쪼개 각각 정렬하고, 두 정렬된 조각을 차례로 합칩니다.
항상 O(n log n)이고 안정 정렬이에요.
📍어디에 쓰나
- –안정성이 필요한 정렬
- –외부 정렬(대용량 파일)
03 파이썬 구현 코드
병합 정렬 (Merge Sort)의 핵심 로직을 담은 표준 구현 예시입니다. 가급적 간결하고 읽기 쉬운 코드로 작성되었습니다.
core_implementation.py
04 자주 묻는 질문
FAQ병합 정렬 (Merge Sort)란 무엇인가요?+
배열을 더 이상 나눌 수 없을 때까지 나눈 후, 정렬하면서 다시 병합하는 안정적이고 일관된 성능을 가진 분할 정복 알고리즘입니다.
병합 정렬 (Merge Sort)의 시간복잡도는 어떻게 되나요?+
병합 정렬 (Merge Sort)의 시간복잡도는 O(n log n) 입니다. 시각화의 단계별 진행을 따라가며 왜 이런 복잡도가 나오는지 직접 확인할 수 있습니다.
병합 정렬 (Merge Sort)은(는) 어디에 사용하나요?+
안정성이 필요한 정렬, 외부 정렬(대용량 파일).
병합 정렬 (Merge Sort)를 쉽게 비유하면?+
반으로 계속 나눈 뒤, 정렬된 조각들을 지퍼처럼 끼워 합치는 것.
→ 정렬 전체 보기Related
