Bubble Sort는 인접한 두 수의 크기를 비교해서 조건에 맞게 자리를 교환하며 정렬하는 알고리즘이다.
매 차례마다 앞에서부터 비교를 진행하며 가장 큰 수는 맨 마지막에 위치하게 되고, 다음 비교 대상에서 제외된다.
시간 복잡도
: 크기가 N인 배열의 경우 (N-1) + (N-2) + ... + 1 = N(N-1)/2의 비교 횟수를 가진다. 따라서 시간 복잡도는 O(N^2)이다. 배열 안의 원소들의 정렬 상태에 상관 없이 항상 2개의 원소를 비교해나가기 때문에 최선, 평균, 최악의 경우 시간복잡도가 모두 O(N^2)로 동일하다.
공간 복잡도
: 배열 안에서 교환하여 정렬하기 때문에 다른 메모리 공간이 필요없이 공간 복잡도는 O(N)을 가진다.
장점
단점
Bubble Sort는 인접한 두 수의 크기를 비교하여 큰 수를 하나씩 뒤로 보내는 정렬 알고리즘입니다. O(N^2)의 시간 복잡도를 가지며, O(N)의 공간 복잡도를 가집니다. 다른 정렬 알고리즘에 비해 단순하지만 그만큼 효율성이 떨어지므로, 데이터의 수가 적고 간단한 정렬이 필요로 한 경우 사용하는 것이 유리합니다.