선택 정렬(Selection Sort)

YoungJin Cho·2021년 1월 6일
0

알고리즘

목록 보기
1/7
post-thumbnail

선택정렬이란?

  • 다음과 같은 순서를 반복하며 정렬하는 알고리즘
    1. 주어진 데이터 중, 최소값을 찾음
    2. 해당 최소값을 데이터 맨 앞에 위치한 값과 교체함
    3. 맨 앞의 위치를 뺀 나머지 데이터를 동일한 방법으로 반복함

알고리즘 구현

  1. for stand in range(len(data_list) - 1)로 반복
  2. lowest = stand로 놓고,
  3. for num in range(stand + 1, len(data_list)) stand이후 부터 반복
    • 내부 반복문에서 data_list[lowest] > data_list[num]이면,
      • lowest = num
  4. data_list[stand], data_list[lowest] = data_list[lowest], data_list[stand]
def selection_sort(data):
    for stand in range(len(data) - 1):
        lowest = stand
        for num in range(stand + 1, len(data)):
            if data[lowest] > data[num]:
                lowest = num
        data[lowest], data[stand] = data[stand], data[lowest]
    return data
import random

data_list = random.sample(range(100), 10)
print(selection_sort(data_list))
profile
자율주행 개발자가 되고싶은 대학생입니다.

0개의 댓글