![[알고리즘] 버블 정렬 (Java) [알고리즘] 버블 정렬 (Java)](https://blogimgs.pstatic.net/nblog/mylog/post/og_default_image_160610.png)
버블 정렬 정렬 알고리즘의 한 종류인 버블 정렬입니다. 배열 앞의 두 수(a, b)를 선택한 뒤 b가 a보다 작으면 (a>b) 교체합니다.
다음 두 수(b, c)를 비교하여 c가 b보다 작으면 (b>c) 교체합니다. 이렇게 배열의 마지막 두 수까지 비교하여 교체 작업을 합니다.
마지막까지 비교하면 맨 뒤의 값은 최댓값이 됩니다. 마지막 값을 제외하고 다시 배열 앞의 두 수(a, b)를 선택 비교하고 반복합니다.
결국 버블 정렬이란 배열을 비교하여 작은 값을 앞으로 보내는 정렬이라 할 수 있습니다. 버블 정렬의 시간 복잡도는 O(n^2)입니다.
다음 숫자 리스트를 오름차순 버블 정렬을 하려고 합니다. Index 0 1 2 3 4 5 6 7 8 Value 4 1 9 2 6 8 3 5 7 먼저 index 0과 index 1을 비교하고 index 0 > index 1이라면 두 값을 교체해 줍니다.
여기선 (4 > 1)로 index 1 이 더 작으므로 교체해 줍니다. Index 0 1 2 3...
#버블정렬
#알고리즘
원문링크 : [알고리즘] 버블 정렬 (Java)