정구리의 우주정복

[알고리즘 기초] 선택 정렬 (selection sort) 본문

ALGORITHM/BASIC

[알고리즘 기초] 선택 정렬 (selection sort)

Jungry_ 2020. 5. 10. 22:54
반응형

#소스코드는 공부용으로 만들어본거라 틀릴수있음

## 파이썬

 

선택정렬이란 ?

주어진 자료중 가장 작은 값의 원소부터 차례대로 선택하여 위치를 교환해 정렬 !

 

과정:

1. List 중 최소값 찾기

2. 그 값을 List 맨 앞과 교환

3. 처음을 제외한 나머지 대상으로 반복

 

시간복잡도는 O(n^2) 이다 

#선택정렬 : select sort
#주어진 자료중 가장 작은 값의 원소부터 차례대로 선택하여 위치를 교횐하는 방식

#최소값 찾기
#비교비교비교 해서 찾기

arr = [int(x) for x in input().split(' ')]
index = 0

for i in range(len(arr)-1):
    mini = arr[i] #최소값
    for j in range(i,len(arr)): #최소값 찾기
        #print(j)
        if arr[j] <= mini:
            mini = arr[j]
            index = j
    print(mini)
    #최소값과 index가 구해진 상태
    change = arr[i] #바뀔 값을 백업
    arr[i] = arr[index]
    arr[index] = change

print(arr)


반응형
Comments