정렬 알고리즘은 원소들을 번호순이나 사전 순서와 같이 일정한 순서대로 열거하는 알고리즘이다. 효율적인 정렬은 탐색이나 병합 알고리즘처럼 정렬된 리스트에서 동작하는 다른 알고리즘을 최적화하는 데 중요하다. 또한 데이터의 정규화나 의미 있는 결과물을 생성하는 데 유용하게 사용된다.

배너 광고

개요

정렬 알고리즘은 데이터를 특정 기준에 따라 순서대로 나열하는 기법이다. 이는 검색 효율성을 향상시키고 데이터 중복 관리 및 분석을 용이하게 한다. 컴퓨터 과학 교육 과정에서는 점근 표기법, 분할 정복 알고리즘, 자료 구조 등 핵심 개념을 소개하는 입문 주제로 널리 활용된다.

안정 정렬과 불안정 정렬의 차이를 보여주는 예시
데이터의 상대적 순서 유지 여부에 따른 안정 정렬과 불안정 정렬의 비교정렬 알고리즘 - 나무위키

역사

컴퓨팅 초기부터 효율적인 정렬을 위한 연구가 진행되었다. 1951년경 에니악(ENIAC)과 유니박(UNIVAC)을 작업했던 베티 홀버튼이 초기 정렬 알고리즘 개발자 중 한 명으로 알려져 있다. 거품 정렬은 1956년에 분석되었으며, 21세기에도 팀소트(2002년)나 라이브러리 정렬(2006년 출판)과 같은 새로운 알고리즘이 지속적으로 발명되고 있다.

주요 분류

정렬 알고리즘은 시간 복잡도와 동작 방식에 따라 다음과 같이 분류할 수 있다.

시간 복잡도에 따른 분류

  • O(n2)O(n^2) 계열: 버블 정렬, 선택 정렬, 삽입 정렬 등이 포함된다. 구현이 간단하여 소량의 데이터 처리에 적합하다.
  • O(nlogn)O(n \log n) 계열: 병합 정렬, 힙 정렬, 퀵 정렬 등이 해당한다. 대규모 데이터 처리에 효율적이다.
  • 기타: 계수 정렬, 기수 정렬 등 비교에 기반하지 않는 알고리즘은 특정 조건에서 더 나은 성능을 보일 수 있다.

안정성에 따른 분류

동일한 값을 가진 원소들의 상대적인 순서가 정렬 후에도 유지되면 안정 정렬(Stable Sort), 유지되지 않으면 불안정 정렬(Unstable Sort)이라고 한다. 버블 정렬과 삽입 정렬은 안정적이나, 퀵 정렬은 불안정 정렬에 속한다.

대표적인 알고리즘

알고리즘평균 시간 복잡도최악 시간 복잡도특징
버블 정렬O(n2)O(n^2)O(n2)O(n^2)인접한 두 요소를 비교하며 교환
삽입 정렬O(n2)O(n^2)O(n2)O(n^2)요소를 하나씩 탐색하여 적절한 위치에 삽입
퀵 정렬O(nlogn)O(n \log n)O(n2)O(n^2)피벗을 기준으로 리스트를 분할하여 정렬
병합 정렬O(nlogn)O(n \log n)O(nlogn)O(n \log n)리스트를 반으로 나누어 각각 정렬 후 결합
병합 정렬의 분할 및 정복 과정 도식
데이터를 분할하고 다시 정렬하며 합치는 병합 정렬의 동작 과정정렬 알고리즘 - 나무위키

참고 자료

5
정렬 알고리즘정렬 알고리즘 합병 정렬 컴퓨터 과학과 수학에서 정렬 알고리즘(sorting algorithm)이란 원소들을 번호순이나 사전 순서와 같이 일정한 순서대로 열거하는 알고리즘이다. 효율적인 정렬은 탐색이나 병합 알고리즘처럼 (정렬된 리스트에서 바르게 동작하는) 다른 알고리즘을 최적화하는 데 중요하다. 또 정렬 알고리즘은 데…https://ko.wikipedia.org/wiki/%EC%A0%95%EB%A0%AC_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98정렬 알고리즘 (r110 판) - 나무위키정렬 알고리즘 (r110 판) - 나무위키 최근 변경 최근 토론 특수 기능 # 정렬 알고리즘(r110 판) 편집 편집 IP 우회 수단(프록시 서버, VPN, Tor 등)이나 IDC 대역 IP로 접속하셨습니다. (#7255)(VPN이나 iCloud의 비공개 릴레이를 사용 중인 경우 나타날 수 있습니다.)잘못된 IDC 대역…https://namu.wiki/w/%EC%A0%95%EB%A0%AC%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98?uuid=26ab4836-df68-4f08-89eb-6ee2560d7f60정렬 알고리즘, 버블정렬, 삽입정렬, 퀵정렬 | gracefullight.dev정렬 알고리즘, 버블정렬, 삽입정렬, 퀵정렬 | gracefullight.dev ## 정렬 알고리즘 개념​ - 데이터를 특정 기준에 따라 순서대로 나열하는 기법 - 검색 효율성 향상, 데이터 중복 관리, 알고리즘 성능 향상, 데이터 분석 및 시각화 ## 버블정렬, 삽입정렬, 퀵정렬 개념​ ### 버블정렬 개념​ | 구분…https://gracefullight.dev/pe/algo/sorting-algorithm[2026] 정렬 알고리즘 | 버블, 선택, 삽입 정렬 완벽 정리[2026] 정렬 알고리즘 | 버블, 선택, 삽입 정렬 완벽 정리 ## 이 글의 핵심 정렬 알고리즘: 버블, 선택, 삽입 정렬 버블 정렬 (Bubble Sort)·선택 정렬 (Selection Sort). ### 들어가며 ### ”정렬은 알고리즘의 시작” 정렬은 가장 기본적인 알고리즘입니다. 시간복잡도 분석과 최적화를…https://pkglog.com/blog/algorithm-series-06-sorting-basic/정렬 알고리즘 - 나무위키정렬 알고리즘 - 나무위키 최근 변경 최근 토론 특수 기능 # 정렬 알고리즘 최근 수정 시각: 2026-04-14 03:59:12 분류 하위 문서: 정렬 알고리즘/예제 이론 컴퓨터 과학Theoretical Computer Science [ 펼치기 · 접기 ] 이론 기본 대상 다루는 대상과 주요 토픽 정보 엔트로피· 데이…https://namu.wiki/w/%EC%A0%95%EB%A0%AC%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98

관련 문서