컴공생의 다이어리
[알고리즘] 선택 정렬(Selection Sort) 본문
선택 정렬(Selection Sort)
선택 정렬은 버블 정렬(Bubble Sort)과 유사한 알고리즘이다. 해당 순서에 원소를 넣을 위치는 이미 정해져 있고, 어떤 원소를 넣을지 선택하는 알고리즘이다.
정렬 과정
1. 우선, 위치(index)를 선택한다.
2. i+1번째 원소부터 선택한 위치(index)의 값과 비교를 시작
3. 오름차순이므로 현재 선택한 자리에 있는 값보다 순회하고 있는 값이 작다면, 위치(index)를 갱신
4. 2번 반복문이 끝난 뒤에는 min_index에 1번에서 선택한 위치(index)에 들어가야 하는 값의 위치(index)를 갖고 있으므로 서로 교환(swap)
파이썬 코드
def selection_sort(arr):
for i in range(len(arr)-1):
min_index = i
for j in range(i+1,len(arr)):
if(arr[j]<arr[min_index]):
min_index = j
arr[min_index],arr[i] = arr[i],arr[min_index]
return arr
print(selection_sort([5,3,7,9,1]))
# 1, 3, 5, 7, 9
https://gyoogle.dev/blog/algorithm/Selection%20Sort.html
선택 정렬(Selection Sort) | 👨🏻💻 Tech Interview
선택 정렬(Selection Sort) Goal Selection Sort에 대해 설명할 수 있다. Selection Sort 과정에 대해 설명할 수 있다. Selection Sort을 구현할 수 있다. Selection Sort의 시간복잡도와 공간복잡도를 계산할 수 있다. Ab
gyoogle.dev
[정렬] 선택정렬(Selection Sort)의 개념/Java코드/시간복잡도/공간복잡도
[정렬] 선택정렬(Selection Sort)의 개념/Java코드/시간복잡도/공간복잡도 📌선택정렬의 개념 선택정렬(Selection Sort)은 해당 순서에 원소를 넣을 위치는 이미 정해져 있고, 그 위치에 어떤 원소를
devuna.tistory.com
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[자료구조] 큐(Queue) (0) | 2021.12.28 |
---|---|
[자료구조] 스택(Stack) (0) | 2021.12.27 |
[알고리즘] 거품 정렬(Bubble Sort) (0) | 2021.09.16 |
[파이썬, Python] 백준 5585번 : 거스름돈 (0) | 2021.08.24 |
[파이썬, Python] 백준 11399번 : ATM (0) | 2021.08.22 |