상세 컨텐츠

본문 제목

[Python 자료구조] 단순 선택 정렬 ( straight selection sort )

자료구조

by donggyu1998 2022. 2. 21. 01:10

본문

반응형

💡 Straight Selection Sort ( 단순 선택 정렬 )

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

 

💡 설명

가장 작은 원소 1과 4 의 위치를 변경

두 번째 작은 원소 2와 6의 위치를 변경 하며 정렬 

 

💡 코드

def selectSort(arr):

    size = len(arr)
    for i in range(size - 1): 
        min_idx = i
           
        for j in range(i + 1, size): 
            print ('i=', i, 'j=',j, arr)
            
            if arr[j] < arr[min_idx]:
                min_idx = j
                        
        arr[i], arr[min_idx] = arr[min_idx], arr[i]
                
    return arr
                
arr = [2, 1, 3]
result = selectSort(arr)
print (result)

마지막의 경우 자동으로 정렬 되므로 첫 번째 for loop 에서 -1 을 해준다.

 

💡 과정

  • 주어진 리스트 중에 최소값을 찾는다.
  • 그 값을 맨 앞에 위치한 값과 교체한다. (패스)
  • 맨 처음 위치를 뺸 나머지 리스트를 같은 방법으로 교체한다.

 

 

반응형

관련글 더보기