이것저것 개발기록

정렬 알고리즘 3종 세트 핵심 정리 본문

IT 이야기

정렬 알고리즘 3종 세트 핵심 정리

Garam Kim 2025. 12. 31. 12:00

"데이터를 순서대로 나열하는 가장 기본적인 방법들!"
성능이 아주 좋지는 않지만, 알고리즘적 사고를 기르기 위해 반드시 거쳐 가야 할 기초 정렬 3가지를 정리합니다.

1. 기초 정렬 비교

  • 버블 정렬 (Bubble Sort): 인접한 두 원소를 비교하며 큰 값을 뒤로 보냅니다. 구현은 쉽지만 아주 느립니다 ($O(N^2)$).
  • 선택 정렬 (Selection Sort): 가장 작은 값을 찾아 맨 앞과 바꿉니다. 데이터 상태와 상관없이 일정한 시간이 걸립니다 ($O(N^2)$).
  • 삽입 정렬 (Insertion Sort): 앞에서부터 정렬된 부분과 비교해 적절한 위치에 끼워 넣습니다. 정렬이 어느 정도 된 데이터에선 매우 빠릅니다.

💡 실무 노트

사실 실무에서 이 정렬들을 직접 구현할 일은 거의 없어요. 언어마다 내장된 sort() 함수들이 훨씬 빠르고 최적화되어 있거든요(보통 퀵 정렬이나 병합 정렬 기반).

팁: 하지만 정렬의 원리를 이해하는 것은 데이터의 흐름과 시간 복잡도를 계산하는 훈련이 됩니다. 코딩 테스트를 준비 중이라면 이 기초 정렬들의 장단점을 명확히 구분해 두세요.