TIL - 단순 선택 정렬

김수인·2025년 5월 19일

크래프톤 정글

목록 보기
8/17
post-thumbnail

가장 작은 원소부터 선택해 알맞은 위치로 옮기는 작업을 반복하며 정렬하는 알고리즘이다.

아직 정렬하지 않은 범위에서 값이 가장 작은 원소를 선택하고, 아직 정렬하지 않은 부분의 맨 앞 원소와 교환하는 작업을 반복한다.

단순 선택 정렬에서 교환 과정은 다음과 같다.

  1. 아직 정렬하지 않은 부분에서 값이 가장 작은 원소 a[min]을 선택합니다.
  2. a[min]과 아직 정렬하지 않은 부분에서 맨 앞에 있는 원소를 교환합니다.

이 과정을 n-1번 반복하면 정렬하지 않은 부분이 없어지면서 전체 정렬을 완료한다.


Python 실습

n = len(a)
for i in range(n - 1):
  min = i
  for j in range(i + 1, n)
    if a[j] < a[min]:
      min = j
   a[i], a[min] = a[min], a[i]
  • 가장 작은 수를 찾아서 반복한다.
  • 이미 정렬된 부분은 탐색하지 않기 위해 range(i + 1) 한다.
  • 교환한다.
profile
헤맨 만큼 내 땅이다

0개의 댓글