본문 바로가기
  • Jetpack 알아보기
Java & Kotlin/알고리즘

[Java] 정렬 알고리즘 (2) - 버블 정렬 (Bubble Sort)

by 새우버거♬ 2021. 5. 23.

버블 정렬 (Bubble Sort)


1. 두 숫자를 비교해서 더 작은 숫자를 왼쪽에 두는 것

2. 반복이 끝났을 때, 최댓값이 맨 뒤에 있게 된다.

3. 시간 복잡도 : O(𝑁²)

4. 선택 정렬보다 비효율적인 알고리즘

→ 선택 정렬은 비교하면서 최솟값을 저장하고, 한 번 반복이 끝나고 바꾸기 연산을 수행하지만

      버블 정렬은 비교할 때마다 바꾸기 연산이 이뤄지기 때문이다.

import java.util.Arrays;

public class BubbleSort {
    int[] array = new int[]{10, 2, 5, 8, 12, 73};

    public void sort() {
        int temp;

        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length - i - 1; j++) {
                if (array[j] > array[j + 1]) {
                    temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
            }
        }

        System.out.println(Arrays.toString(array));
    }
}