Bub
SORTING
버블 정렬 (Bubble Sort)
인접한 두 값을 비교하며 자리를 바꾸는 과정을 한 단계씩, 또는 자동 재생으로 직접 확인하세요. 배열 상태를 바꿔가며 최선·평균·최악의 경우가 왜 다른지 눈으로 비교할 수 있습니다.
재생 버튼을 눌러 정렬을 시작하세요.
비교 0회 · 교환 0회
1 / 1
속도
대기
비교 중
교환됨
정렬 완료
PSEUDOCODE
for i ← 0 to n-2 for j ← 0 to n-2-i if array[j] > array[j+1] swap(array[j], array[j+1])
어떻게 동작하나요
배열을 여러 번 훑으면서 인접한 두 값을 비교합니다. 왼쪽이 오른쪽보다 크면 자리를 바꾸고, 그렇지 않으면 그대로 다음 쌍으로 넘어갑니다. 한 번 순회가 끝날 때마다 가장 큰 값이 맨 뒤로 이동해 그 자리에 "정렬 완료"로 고정됩니다. 이 과정을 배열 전체가 정렬될 때까지 반복합니다 — 만약 한 번의 순회에서 교환이 전혀 없었다면 이미 정렬된 것이므로 그 즉시 멈춥니다(조기 종료).
시간·공간 복잡도
- 최선 (이미 정렬됨)
- O(n)
- 평균
- O(n²)
- 최악 (역순)
- O(n²)
- 공간 복잡도
- O(1)
- 안정 정렬
- 예 (Stable)
위 "정렬됨"·"역순" 프리셋으로 직접 비교 횟수를 확인해보세요 — 조기 종료 덕분에 최선의 경우는 단 한 번의 순회로 끝납니다.
다른 정렬 알고리즘(선택·삽입·병합·퀵)도 이어서 시각화할 예정입니다 — Algorithm 코스로 돌아가기