교환 정렬 알고리즘 (Exchange Sort)

honeybeeveloper·2022년 8월 30일
0

교환 정렬 알고리즘(Exchange Sort Algorithm)

작은 것부터 큰 순서로 정렬할 경우, 작은 키를 갖는 데이터를 찾아 앞 데이터와 교환하는 알고리즘

  1. 사이즈 7의 정렬할 배열을 가정합니다. (size=7)
  2. 앞에서부터 인접한 두 개의 크기를 비교하여 작은 것이 앞을 가도록 교환합니다.
  3. 나머지 데이터도 계속 비교하며 값이 작은 데이터가 앞으로 가도록 위치를 교환합니다.
  4. 끝까지 수행한 후에는 다시 처음부터 동일한 작업을 반복합니다.
  5. 정렬 완료


교환 정렬 알고리즘 구현

# python 3.8

def change(arr, i, j):
    temp = arr[i]
    arr[i] = arr[j]
    arr[j] = temp


def exchange_sort(x):
    for i in range(len(x)):
        idx = i
        for j in range(idx+1, len(x)):
            if x[idx] > x[j]:
                change(x, idx, j)
            idx = j
    return x





github : https://github.com/honeybeeveloper/algorithm/blob/develop/exchange-sort.py
참고 : 책 <그림으로 정리한 알고리즘과 자료구조>

profile
꿀벌같은 개발자가 되고 싶습니다.

0개의 댓글