알고리즘 이론/정렬
선택 정렬(selection sort)
bky373
2020. 9. 28. 23:11
1. 주어진 데이터 중에서 최솟값을 찾는다
2. 맨 앞의 데이터와 찾은 최솟값의 위치를 바꾼다
3. 위 과정을 다음 나머지 값에서 반복한다
* 시간복잡도 : O(n^2)
import random
# set up
def selection_sort(data):
for x in range(len(data)-1):
lowest = x
for y in range(lowest+1, len(data)):
if data[lowest] > data[y]:
lowest = y
data[lowest], data[x] = data[x], data[lowest]
return data
# given
data = random.sample(range(30), 5)
# when
print(selection_sort(data))
# then
# 1, 7, 12, 15, 23
- 출처 : fastcampus