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 코스로 돌아가기

1:1 정원제 · 상시 모집

정렬, 시간복잡도를 손으로 체감하며 다시 배우세요

당신에게 맞는 커리큘럼은 1:1 상담에서부터 시작됩니다.