가장 작은(혹은 가장 큰) 데이터를 찾아 가장 앞 데이터와 교환하는 알고리즘
사이즈 7의 정렬할 배열을 가정합니다. (size=7)
가장 작은 값을 찾아서 위치를 교환합니다.
나머지 중에서 가장 작은 값을 찾아 위치를 교환하는 작업을 반복합니다.
정렬 완료
# python 3.8
def change(arr, i, j):
temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
def selection_sort(arr):
for i in range(len(arr)):
for j in range(i+1, len(arr)):
if arr[i] > arr[j]:
change(arr, i, j)
continue
return arr
github : https://github.com/honeybeeveloper/algorithm/blob/develop/selection-sort.py
참고 : 책 <그림으로 정리한 알고리즘과 자료구조>