선택 정렬
i | 비교 횟수 |
---|---|
1 | n-1 |
2 | n-2 |
3 | n-3 |
총 비교 횟수
(n-1)+(n-2)+…+1 = n(n-1)/2
performace : O(n^2)
space compexity : O(1)
기본
- 아직 정렬되지 않은 값을 쭉 훑습니다.
- 가장 낮은 키 값을 찾습니다.
- 찾은 값과 정렬된 값 다음 값과 바꿉니다.(벽이 있다고 생각해봅시다.)
Code
for i in 0 ..< arr.count - 1 {
var indexOfMinValue = i
for j in i + 1 ..< arr.count {
if arr[j] < arr[indexOfMinValue] {
indexOfMinValue = j
}
}
arr.swapAt(i, indexOfMinValue)
}
댓글남기기