알고리즘: 선택정렬

Ju_Nik_e·2023년 6월 8일
0

선택 정렬

대상 데이터에서 최대나 최소 데이터를 찾은 후 정렬되지 않은 부분의 맨 앞 혹은 맨 뒤 값과 바꿔서 정렬하는 법

핵심 이론

최솟값 또는 최댓값을 찾고, 남은 정렬 부분의 가장 앞에 있는 데이터와 swap하는 것

정렬 과정

  1. 남은 정렬 부분에서 최솟값 또는 최댓값을 찾는다
  2. 남은 정렬 부분에서 가장 앞에 있는 데이터와 선택된 데이터를 swap
  3. 가장 앞에 있는 데이터의 위치를 변경해 남은 정렬 범위를 축소
  4. 전체 데이터 크기와 가장 앞에 있는 데이터의 위치가 같아질 때까지 반복

코드 구현

for i in range(len(lst)):
	max = i
    for j in range(i+1, len(lst)):
    	if lst[j] > lst[max]:
        	max = j
    if lst[i] < lst[max]:
    	temp = lst[i]
        lst[i] = lst[max]
        lst[max] = temp

0개의 댓글