728x90
1. 선택 정렬
- 대상에서 가장 크거나 작은 데이터를 찾아가 선택을 반복하면서 정렬하는 방식이다.
- 구현이 복잡하다.
- 시간 복잡도가 O(n²)으로 느리다.
- 최솟값 또는 최댓값을 찾고, 가장 앞에 있는 데이터와 swap하여 정렬한다.
2. 선택 정렬 과정
- 남은 정렬 부분에서 최솟값 또는 최댓값 찾기 (min = 1)
- 남은 정렬 부분에서 가장 앞에 있는 데이터와 찾은 데이터를 swap (1, 3 swap)
- 가장 앞에 있는 데이터의 위치를 변경하여 남은 정렬 부분 범위를 축소 (i++)
- 남은 정렬 부분이 없을 때까지 반복
3. 예제 문제
[1427] 소트인사이드 (JAVA)
# 문제 설명 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연
spicyrisotto.tistory.com
[23881] 알고리즘 수업 - 선택 정렬 1 (JAVA)
# 문제 설명 오늘도 서준이는 선택 정렬 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. N개의 서로 다른 양의 정수가 저장된 배열 A가 있다.
spicyrisotto.tistory.com
728x90
'책 > Do it! 알고리즘 코딩 테스트 자바 편' 카테고리의 다른 글
Day-6 퀵 정렬 (0) | 2024.03.27 |
---|---|
Day-6 삽입 정렬 (0) | 2024.03.26 |
Day-5 버블 정렬 (0) | 2024.03.22 |
Day-4 스택과 큐 (0) | 2024.03.21 |
Day-3 슬라이딩 윈도우 (1) | 2024.03.17 |