CS/알고리즘

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

컨설턴트X 2023. 5. 6. 00:16
728x90
반응형

알고리즘 기초 예제로는 다양한 문제가 있지만, 여기서는 가장 기본적인 정렬 알고리즘 중 하나인 선택 정렬(Selection Sort) 예제를 들어보겠습니다.

선택 정렬은 주어진 배열에서 최소값을 찾아 맨 앞으로 보내는 과정을 반복하여 정렬하는 알고리즘입니다. 

다음은 선택 정렬의 동작 과정을 설명한 pseudocode(의사 코드)입니다.

SelectionSort(array A)
for i = 0 to n-2
    minIndex = i
    for j = i+1 to n-1
        if A[j] < A[minIndex]
            minIndex = j
    swap A[i] and A[minIndex]



위의 pseudocode에서 `A`는 정렬할 배열, `n`은 배열의 크기입니다. 

이제 위 pseudocode를 실제 코드로 구현해보겠습니다.

def selection_sort(arr):
    for i in range(len(arr)-1):
        min_idx = i
        for j in range(i+1, len(arr)):
            if arr[j] < arr[min_idx]:
                min_idx = j
        arr[i], arr[min_idx] = arr[min_idx], arr[i]


위의 코드를 예시 입력값에 적용해보면 다음과 같습니다.

arr = [64, 25, 12, 22, 11]
selection_sort(arr)
print("Sorted array:", arr)


출력 결과는 다음과 같습니다.

Sorted array: [11, 12, 22, 25, 64]



이와 같이 선택 정렬 알고리즘을 사용하여 주어진 배열을 오름차순으로 정렬할 수 있습니다.

728x90
반응형