Algorithm/Algorithm
정렬-선택 정렬(selection sort)
AppJinny
2023. 2. 7. 23:51
*정렬-선택 정렬(selection sort)
-수열 중에서 최솟값을 검색해 왼쪽 끝 숫자와 교체하는 작업 반복하여 정렬
-수열 중 최솟값을 찾을 때는 선형 탐색 사용
-1라운드에서 n-1회, 2라운드에서 n-2회가되며 비교횟수는 버블정렬과 같은 n²/2 가 됨
-숫자 교체는 각 라운드에서 최대 1회
-입력 데이터가 작은 순으로 나열되어 있다면 교체는 한 번도 발생하지 않음
*선택 정렬의 예
-1부터 9까지의 숫자 정렬(6-1-7-8-9-3-5-4-2)
-수열을 선형 탐색하여 최솟값(1) 찾고 왼쪽 끝 숫자와 교체(1-6-7-8-9-3-5-4-2)
-정렬 반복
-(1-2-7-8-9-3-5-4-6)
-(1-2-3-8-9-7-5-4-6)
-(1-2-3-4-9-7-5-8-6)
-(1-2-3-4-5-7-9-8-6)
-(1-2-3-4-5-6-9-8-7)
-(1-2-3-4-5-6-7-8-9)
-정렬 완료
이 포스팅에 작성한 내용은 이시다 모리테루, 미야자키 쇼이치, ⌜알고리즘 도감⌟, 김완섭 옮김, (주)제이펍, 2020 에서 발췌하였습니다.