선택 정렬 (Selection Sort)

개념
정렬이 안된 숫자들 중에서 최소 값을 선택하여 배열의 첫 번째 요소와 교환하는 정렬 기법

I. 선택 정렬 (Selection Sort)의 개요

   가.  선택 정렬의 정의

- 정렬이 안된 숫자들 중에서 최소 값을 선택하여 배열의 첫 번째 요소와 교환하는 정렬 기법

 

나.  삽입 정렬의 특징

- 수행시간 복잡도 : O(n2)

- 안정성을 만족하지 않음.

 

Ⅱ. 선택 정렬의 단계 및 사례

     가.  선택 정렬의 단계 (Pseudo Code)

 

     나.  선택 정렬의 사례

public static int[] doSelectionSort(int[] arr){

        for (int i = 0; i < arr.length - 1; i++)

        {

            int index = i;

            for (int j = i + 1; j < arr.length; j++)

                if (arr[j] < arr[index])

                    index = j;

     

            int smallerNumber = arr[index];

            arr[index] = arr[i];

            arr[i] = smallerNumber;

        }

        return arr;

}

댓글