단순 선택 정렬 알아보기
아직 정렬하지 않은 범위에서 값이 가장 작은 원소를 선택하고
for i in range(n-1)
min
a[i]와 a[min]을 교환
아직 정렬하지 않은 부분의 맨 앞 원소와 교환하는 작업을 반복한다.
왕 풀었다
from typing import MutableSequence
def selection_sort(a:MutableSequence) -> None:
n = len(a)
min = 0
for i in range(n-1):
for j in range(i, n):
if a[j] <= a[min]:
min = j
a[i], a[min] = a[min], a[i]
return a
a = [4, 5, 2, 1, 3]
print(selection_sort(a))
예제 코드
from typing import MutableSequence
def selection_sort(a:MutableSequence) -> None:
n = len(a)
for i in range(n-1):
min = i
for j in range(i+1, n):
if a[j] <= a[min]:
min = j
a[i], a[min] = a[min], a[i]
return a
a = [4, 5, 2, 1, 3]
print(selection_sort(a))
'Computer Science > 자료구조' 카테고리의 다른 글
[5.23] 06-5 셸 정렬 (0) | 2021.05.23 |
---|---|
[5.22] 06-4 단순 삽입 정렬 (0) | 2021.05.22 |
[5.20] 06-2 버블 정렬 (0) | 2021.05.20 |
[5.18] 06-1 정렬 알고리즘 (0) | 2021.05.18 |
[5.17] 03-4 해시법 복습 (재도전) (0) | 2021.05.17 |