프로그래밍 공부/Java

선택 정렬(Selection Sort)

hueco 2024. 1. 18.

선택 정렬이란?

선택 정렬은 간단하면서도 기본적인 정렬 알고리즘 중 하나입니다.

이 정렬 알고리즘은 한 번의 배열 탐색에서 가장 작은 원소의 위치를 찾아 첫 번째 위치의 원소와 교환하고, 그다음으로 작은
원소를 찾아 두 번째 위치의 원소와 교환하는 과정을 배열의 마지막 원소까지 반복하여 배열을 정렬합니다.

 

선택 정렬의 특징

1. unstable 정렬: 같은 값을 갖는 원소들의 순서가 정렬 이후 변경될 수 있기에 불안정 정렬입니다.

2. in-place 정렬: 자료 구조를 그대로 두고 그 안에서 요소들의 위치를 바꾸어 정렬합니다.

3. 시간복잡도: 최선, 평균, 최악의 경우 모두 O(N^2)의 시간 복잡도를 갖습니다. 왜냐하면 비교를 해 보기 전에는 어떤 원소가 가장 작은지 모르기 때문에 배열이 최선의 경우를 가진다고 하더라고 배열을 순회하면서 비교해야 하기 때문입니다.

 

선택 정렬의 구현(Java)

'프로그래밍 공부 > Java' 카테고리의 다른 글

삽입 정렬(Insertion Sort)  (0) 2024.01.18
거품 정렬(Bubble Sort)  (0) 2024.01.18
문자열 상수 풀(String Constant Pool)이란?  (0) 2024.01.12

댓글