선택정렬은 정렬되지 않은 데이터 중 가장 작은 데이터를 선택하여 맨 앞부터 정렬해 나가는 알고리즘이다.
즉 순차적으로 반복해 나가는 정렬
이러한 그림과 같이 리스트 안에 가장 작은 데이터를 맨 앞으로 위치시켜가며 점차 작은 데이터 값을 반복적으로 교환해나가는 알고리즘이다.
이러한 선택정렬을 파이썬으로 구현하며 아래와 같다.
def selection_sort(arr): for i in range(len(arr) - 1): min_idx = i for j in range(i + 1, len(arr)): if arr[j] < arr[min_idx]: min_idx = j arr[i], arr[min_idx] = arr[min_idx], arr[i]