[알고리즘] 버블 정렬(Bubble Sort) 제대로 이해하기

·
Java 코딩테스트/알고리즘 유형
들어가며지난 글에서 선택 정렬을 정리했다. 선택 정렬은 "최솟값을 찾아서 앞으로 보내는" 방식이었고, 교환은 라운드당 한 번이었다.이번 버블 정렬은 정반대다. 옆에 있는 둘을 비교해서 순서가 틀렸으면 그 자리에서 바로 바꾼다.교환이 훨씬 자주 일어나는 대신, 이미 정렬된 입력이면 한 바퀴만 돌고 끝낼 수 있다.이름이 버블인 이유는 큰 값이 라운드마다 뒤로 밀려나는 모양이 거품이 수면으로 떠오르는 것 같아서다.Point : 버블 정렬은 "인접한 두 개 비교 → 틀렸으면 교환"을 반복해서 가장 큰 값을 맨 뒤로 보내는 것, 그게 전부다.1. 버블 정렬이란배열 앞에서부터 인접한 두 원소를 비교해서 앞이 더 크면 교환한다. 이걸 끝까지 한 번 훑으면 가장 큰 값이 맨 뒤에 가 있다. 그 다음 라운드는 마지막 하..