안정 정렬(Stable Sort)란?

키가 같은 원소끼리의 순서가 정렬한 후에도 원래대로 유지되는 정렬. 버블 정렬, 삽입 정렬, 병합 정렬은 안정적이고, 선택 정렬, 퀵 정렬, 힙 정렬은 일반적으로 안정적이지 않다. 여러 키로 차례로 정렬할 때 필요해진다.

일본어 명칭: 安定ソート

안정 정렬(Stable Sort)은(는) 자료 구조와 알고리즘 등 1개 분야의 연습 문제 1개에 나와요.

분야: 자료 구조와 알고리즘

도전해 보기: 안정 정렬(Stable Sort) 관련 문제

(이름, 점수) 데이터 (A, 80), (B, 70), (C, 80), (D, 70)이 이 순서로 늘어서 있다. 점수의 오름차순으로 안정 정렬했을 때 이름의 순서는?

  1. AB, D, A, C
  2. BD, B, A, C
  3. CB, D, C, A
정답과 해설 보기

정답: A. B, D, A, C

안정 정렬에서는 키(여기서는 점수)가 같은 원소끼리는 정렬하기 전의 순서가 그대로 유지됩니다. 70점인 B와 D는 원래 순서대로 B, D, 80점인 A와 C도 원래 순서대로 A, C가 되므로 B, D, A, C입니다. 안정적인 정렬에는 버블 정렬, 삽입 정렬, 병합 정렬이 있으며, 선택 정렬, 퀵 정렬, 힙 정렬은 일반적으로 안정적이지 않습니다. 안정 정렬을 사용하면 먼저 이름순으로 정렬한 뒤 점수로 다시 정렬하는 식의, 여러 키에 의한 정렬을 할 수 있습니다.

해설 속 안정 정렬(Stable Sort)

안정 정렬(Stable Sort)이(가) 나오는 문제 (1)

  1. (이름, 점수) 데이터 (A, 80), (B, 70), (C, 80), (D, 70)이 이 순서로 늘어서 있다. 점수의 오름차순으로 안정 정렬했을 때 이름의 순서는?

관련 용어

깊이 우선 탐색(Depth-First Search) 너비 우선 탐색(Breadth-First Search) 다익스트라 알고리즘(Dijkstra's Algorithm) 동적 계획법(Dynamic Programming) 스택(Stack) 시간 복잡도(Time Complexity) 연결 리스트(Linked List) 이진 탐색 트리(Binary Search Tree) 이진 탐색(Binary Search) 이진 힙(Binary Heap)

용어집으로 돌아가기