버블 정렬(Bubble Sort) 개념 요약
- 버블 정렬(Bubble sort)은 두 인접한 원소를 검사하여 정렬하는 방법이다.
- 시간 복잡도가 O(n^2)로 상당히 느리다.
- 코드가 단순하기 때문에 자주 사용된다.
버블 정렬(Bubble Sort) vs 선택 정렬(Selection Sort)
- 버블 정렬은 선택 정렬보다 비효율적이다.
- 버블 정렬은 바로 옆의 수와 자리를 바꾸는 연산을 한다. 그러나 선택 정렬은 가장 작은 수와 자리 교체를 하 기 때문에 선택 정렬이 버블 정렬 보다 빠르다고 할 수 있다.
버블 정렬(Bubble Sort)의 알고리즘 예시
- 배열에 1 4 5 2 3 이 저장되어 있다고 가정하고 오름차순으로 정렬해 보자.
Source Code
버블 정렬(Bubble Sort)의 시간복잡도
- 시간복잡도를 계산하면…
- 첫 for 루프 n-1회 반복 후 배열을 첫 번째 원소 정렬
(n-1) + (n-2) + … + 2 + 1 = n(n-1)/2 -> 등차수열의 합
- n(n-1)/2 = (n^2-n)/2 이므로
따라서 버블 정렬의 시간 복잡도 Θ(n^2)
- 시간복잡도 계산할 때는 상수는 무시한다.