자료구조
[Python 자료구조] 단순 선택 정렬 ( straight selection sort )
donggyu1998
2022. 2. 21. 01:10
반응형
💡 Straight Selection Sort ( 단순 선택 정렬 )
단순 선택 정렬은 가장 작은 원소부터 선택해 알맞은 위치로 옮기는 작업을 반복하며 정렬하는 알고리즘이다.
💡 설명
가장 작은 원소 1과 4 의 위치를 변경
두 번째 작은 원소 2와 6의 위치를 변경 하며 정렬
💡 코드
def selectSort(arr):
size = len(arr)
for i in range(size - 1):
min_idx = i
for j in range(i + 1, size):
print ('i=', i, 'j=',j, arr)
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
arr = [2, 1, 3]
result = selectSort(arr)
print (result)
마지막의 경우 자동으로 정렬 되므로 첫 번째 for loop 에서 -1 을 해준다.
💡 과정
- 주어진 리스트 중에 최소값을 찾는다.
- 그 값을 맨 앞에 위치한 값과 교체한다. (패스)
- 맨 처음 위치를 뺸 나머지 리스트를 같은 방법으로 교체한다.
반응형