선택 정렬(select sort)
- 선택 정렬은 리스트를 순회하며 최솟값을 찾아 해당 인덱스의 값을 현재 인덱스의 값과 바꿔주는 정렬이다.

위 사진을 보면 순서대로 현재 수와 다른 수들을 전부 비교해서 자리를 바꿔주는 것을 확인할 수 있다. 알기 쉽도록 아래의 코드를 확인하자.
def select_sort(list_num):
for i in range(0, len(list_num) - 1):
min_idx = i
for j in range(i + 1, len(list_num)):
if list_num[j] < list_num[min_idx]:
min_idx = j
list_num[i], list_num[min_idx] = list_num[min_idx], list_num[i]
return list_num
print(select_sort([2, 4, 5, 1, 3, 4, 7, 30]))
*선택 정렬은 순회를 하지만 매번 리스트안의 위치를 바꾸진 않아 버블정렬보다는 효율이 좋은 편이지만 이중 반복문을 순회하므로 시간 복잡도는 O(N^2)이다.