# 코드
import random
def selection_sort(data):
size = len(data)
for target in range(size):
min_index = target
for index in range(target + 1, size):
if (data[min_index] > data[index]):
min_index = index
#swap
temp = data[min_index]
data[min_index] = data[target]
data[target] = temp
if __name__ == '__main__':
input = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
sample_list = random.sample(range(10),10)
# test
print(f"before {sample_list}")
selection_sort(sample_list)
print(f"sorted {sample_list}")
# 시간복잡도
O(n^2)
'•알고리즘(Algorithm ) > 스터디' 카테고리의 다른 글
[알고리즘] 병합정렬(merge-sort) 파이썬 (0) | 2022.07.24 |
---|---|
[알고리즘] 재귀함수 파이썬, 회문검사 (0) | 2022.07.23 |
[알고리즘] 삽입정렬 파이썬 (0) | 2022.07.22 |
[알고리즘] 버블정렬 파이썬 (0) | 2022.07.22 |
[정렬] 버블정렬(Bubble Sort) 알고리즘 (0) | 2021.05.21 |