ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [자료구조/Sorting] Selection Sort
    Computer Science/자료구조 2020. 5. 28. 20:49

     

    Selection Sort

    가장 작은 원소를 선택해서 교환하는 방식이다.

     

    방법

    아래의 방식을 첫번째 원소(i=0) 부터 마지막 원소-1(i=N-1) 까지 반복한다.

    • 가장 작은 요소를 찾기 위해 배열을 검색
    • 가장 작은 요소와 현재 배열의 원소를 교체

    [C언어 코드]

    void selectionsort (int array[], int len) {
    
        for (int i=0; i<len-1; i++) {
    
            int min_idx = i;
    
            for (int j=i+1; j<len; j++) {
                if (array[min_idx] > array[j])
                    min_idx = j;
            }
    
            if (i!=min_idx) {
                int tmp = array[i];
                array[i] = array[min_idx];
                array[min_idx] = tmp;
            }
        }
    }

    과정

    위와 같은 과정을 반복하여 Sorting 한다. 

    시간복잡도

    순서 복잡도
    i=0 n-1
    i=1 n-2
    i=2 n-3
    ... ...
    i=n-1 1

    (n-1) + (n-2) + (n-3) + ... + 1 = n^2 = O(n^2) 

    'Computer Science > 자료구조' 카테고리의 다른 글

    자료구조 : 시작하기  (0) 2020.01.05