알고리즘

알고리즘 – 선택 정렬 (Selection Sort)

  • 선택 정렬 (Selection Sort) 이란?
    • 자신의 뒤에 속하는 원소들과 순차적인 비교를 통해 자리를 교환하여 정렬하는 알고리즘
      • 비교 정렬에 속함
    • 선택 정렬 특징
      • 버블 정렬과 방식이 비슷하며 구현이 쉬움
      • 잦은 비교와 교환으로 성능이 나쁨
    • 선택 정렬 알고리즘 시간 복잡도
  • 예제 – 선택 정렬 (오름차순)
# Python Code

arr = [3,1,6,0,1,9,4]
N = len(arr)

for i in range(N-1):
    for j in range(i+1, N):
        if arr[i] > arr[j]:
            temp = arr[i]
            arr[i] = arr[j]
            arr[j] = temp

print(arr)
# [0, 1, 1, 3, 4, 6, 9]
  • 과정 – 오름차순
정렬 전 초기 배열의 모습

첫 번째 배열부터 뒤에 속하는 배열과 순차적으로 값을 비교합니다.

첫 번째 배열 3은 두 번째 배열 1보다 크므로 교환됩니다
첫 번째 배열 1은 세 번째 배열 6보다 작으므로 교환되지 않습니다
첫 번째 배열 1은 네 번째 배열 0보다 크므로 교환됩니다
첫 번째 배열을 마지막 배열과 비교한 후 1회전이 끝납니다

1회전과 마찬가지로 (배열의 수 – 1) 회전까지 진행하면 아래와 같은 배열이 완성됩니다.

최종 정렬

이상으로 선택 정렬에 대한 설명을 마칩니다! 😀

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.