알고리즘(선택 정렬)

Viva의 놀이터·2021년 1월 6일
0

알고리즘

목록 보기
7/14
post-thumbnail

선택 정렬

선택 정렬은 기본 정렬중에서 가장 쉽게 생각 할 수 있는 정렬 방식이다.

선택 정렬의 컨셉은 전체의 값을 비교해보고 가장 작은 수를 가장 앞으로 보내는 방식을 취하고 있다.

따라서 [a1,a2,a3,a4]가 각각 [1,4,3,2] 라고하면 우선 a1,a2,a3,a4를 전체다 비교해보고 가장 작은 수인 a1이 가장 앞에 위치한다.
[a1,a2,a3,a4] = [1,4,3,2]

다음 [a2,a3,a4]를 비교해본 결과 a4가 가장 작기 때문에 2번째 자리인 a2와 a4의 위치를 바꿔준다.
[a1,a4,a3,a2] = [1,2,3,4]

다음은 [a3,a2]를 비교하고 더 작은 수인 a3을 3번째 위치에 위치시키려고 했는데 a3이 이미 3번째 위치에 있음으로 그대로 반환하면 된다.
[a1,a4,a3,a2] = [1,2,3,4]

이렇게 해서 모든 정렬이 완료되었다.

이를 코드로 작성해보면

def select_sort(data):
    for stand in range(len(data)-1):
        lowest = stand
        for index in range(stand+1, len(data)):
            if data[lowest] > data[index]:
                lowest = index
        data[stand] , data[lowest] = data[lowest], data[stand]
    
    return data

같이 된다.

profile
역사를 잊은 기술에겐 미래가 없다

0개의 댓글