이들은 세 가지 단순한 O(n²) 비교 정렬입니다. 큰 입력에서는 느리지만 이해하기 쉽고 정렬의 동작 원리를 가르치는 데 유용합니다.
각각의 동작 방식
- Bubble sort: 인접한 순서가 잘못된 쌍을 반복적으로 교환합니다. 큰 값이 매 패스마다 끝으로 "거품처럼 떠오릅니다".
- Selection sort: 정렬되지 않은 부분의 최솟값을 찾아 제자리로 교환합니다.
- Insertion sort: 각 새 원소를 올바른 위치에 삽입하여 정렬된 접두부를 키워 갑니다.
예시 (insertion sort)
python
():
i (, (arr)):
key = arr[i]
j = i -
j >= arr[j] > key:
arr[j + ] = arr[j]
j -=
arr[j + ] = key
arr
insertion_sort([, , , ])
