mo1lusca의 블로그
[Unifox] - 버블정렬, 선택정렬, 삽입정렬 본문
동아리 시간에 배운 세 가지의 정렬 방법에 대해 정리해보려 한다.
- 버블 정렬
- 낮은 인덱스부터 바로 옆의 값과 비교하여 큰 값이 오른쪽으로, 작은 값이 왼쪽으로 가도록 정렬한다.
- 한 사이클이 끝날 때 마다 가장 큰 값이 최종적으로 정렬될 위치에 놓이게 된다.
- O(n2)의 시간복잡도를 가진다.
- 선택 정렬
- 낮은 인덱스부터 차례대로 끝까지 비교하여 최솟값을 정해 현재 인덱스와 교환한다.
- 한 사이클이 끝날 때 마다 가장 작은 값이 최종적으로 정렬될 위치에 놓이게 된다.
- O(n2)의 시간복잡도를 가진다.
- 삽입 정렬
- 자신의 앞 요소들과 비교하여 자신의 값보다 큰 값을 한 칸씩 뒤로 이동시키고 그 사이에 자신의 값을 끼워 넣는다.
- 책을 번호대로 정리할 때 알맞은 번호 사이에 책을 끼워 넣는 것과 유사한 방식이다.
- O(n2)의 시간복잡도를 가진다.
(세 정렬 모두 오름차순 기준으로 정리하였다.)
다른 정렬 방법에 대해서도 더 알아보고 싶다.
'Unifox' 카테고리의 다른 글
| [Unifox] - JavaScript 3차시 (1) | 2025.07.28 |
|---|---|
| [Unifox] - JavaScript 2차시 (1) | 2025.07.25 |
| [Unifox] - JavaScript 1차시 (1) | 2025.07.24 |
| [Unifox] - 트리 (0) | 2025.07.09 |
| [Unifox] - 이진 탐색 (1) | 2025.06.22 |