본문 바로가기

Data Structure/Algorithm

Sort Algorithm - Selection

Selection

- 맨 앞index를 선택한 후 나머지 index랑 값을 비교해서 정렬

 

- 교환 횟수는 가장 적고, 비교도 모두 진행함

 

- Bubble Sort보다는 성능이 좋다.

 


Java예시

 

 

- public static void Selection(int[] array)

: array  안에서 sort할 것이므로 매개변수로 array를 1개 받는다.

 

 

- for(int i = 0; i <array.length-1; i++){ int minimum_index = i; ..., swap(array, i , minimum_index)}

: array에서 index를 하나 선택하고 값이 가장 작은 값을 가진 index를 minimum_index에 저장하고, i를 반복문을 이용해  계속  Array를 탐색하면서 가장 작은 값을 가진 index를 가장 앞으로 이동시킨다.

 

 

- for(int j = i+1; j <array.length; j++){...}

: array에서 index를 하나 선택하고 값이 가장 작은 index 찾기 / 앞서 i를 통해, index 중 가장 작은 값을 가진 것을 저장했으므로, j는 i+1 즉, 하나를 뺀 나머지 elements 중에서 가장 작은 값을 가진 index를 찾는다.

 

 

- if(array[j] < array[minimum_index]){minimum_index=j;}

: 만약 새로 찾은 값( array[j] )이 아까 찾은 값( array[minimum_index] )보다 작으면, minimum_index에 j를 새롭게 저장

 

 

- main함수에서 실행한 결과


C예시

- 추가 예정

'Data Structure > Algorithm' 카테고리의 다른 글

Sort Algorithm - Merge  (0) 2024.03.30
Sort Algorithm - Shell  (0) 2024.03.29
Sort Algorithm - Insertion  (0) 2024.03.28
Sort Algorithm - Bubble  (0) 2024.03.27
Algorithm - swap()  (0) 2024.03.27