반응형
버블정렬
버블 정렬의 시간 복잡도 = O(N^2)
다음의 숫자들을 오름차순으로 정렬하는 프로그램을 작성하세요
1 10 5 8 7 6 4 3 2 9
버블 정렬은 선택 정렬과 마찬가지로 직관적인 해결 방법이다. 인접해 있는 두 숫자끼리 비교를 해서 더 작은 숫자를 앞으로 보내주는 것을 반복하는 것이다.
즉, 옆에 있는 값과 비교하여 더 작은 값을 반복적으로 앞으로 보내는 정렬 방법이다. 버블 정렬은 정렬 알고리즘 중에서 구현은 가장 쉽지만 가장 비효율적인 알고리즘이다.
var i: Int
var j: Int
var temp: Int
var arr = [1,10,5,8,4,2,5,7,4,3]
for a in 0...10 {
for b in 0...(9-a) {
if arr[b] > arr[b+1] {
temp = arr[b]
arr[b] = arr[b+1]
arr[b+1] = temp
}
}
}
반응형
'알고리즘' 카테고리의 다른 글
알고리즘 - 소수 판별법 알고리즘 (0) | 2022.09.06 |
---|---|
알고리즘 - [day1]정렬 알고리즘의 개요와 선택 정렬 (0) | 2022.09.02 |
알고리즘 - [day1]알고리즘의 개요 (0) | 2022.09.02 |