Algorithm

[Sort] Bubble

빠빠담 2020. 7. 6. 22:50
반응형

- 두 인접한 원소를 검사하여 정렬하는 방법

- 시간복잡도 : O(n^2)


- 세번의 회전에 걸쳐 정렬은 완료되었지만 프로그램은 남은 데이터의 비교연산을 계속 처리함.

- 정렬은 비교연산을 통해 가장 큰 데이터 부터 끝에 정렬됨.

 

버블 정렬의 장점

- 구현이 쉽다.

- 이미 정렬된 데이터를 정렬할때 가장 빠르다.

 

버블 정렬의 단점

- 다른 정렬에 비해 정렬 속도가 느리다.

- 역순배열을 정렬할때 가장 느리다.

 

 

package algorithm.sort;

public class Bubble {

    public static void main(String[] args) {

        int[] arr = {3,6,1,9,2,7,4,8,5,0, 14,23,98,45,76,34};

        bubbleSort(arr);

        System.out.println("===========================");
        for(int item : arr){
            System.out.print(item);
            System.out.print("|");
        }
        System.out.println();
        System.out.println("===========================");


    }

    private static void bubbleSort(int[] arr){

        int tmp;

        for(int i = 0 ; i < arr.length ; i++){

            for(int j = 0 ; j < arr.length - 1 - i ; j++){

                if(arr[j] > arr[j+1]){
                    tmp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = tmp;
                }

            }

        }

    }

}
반응형

'Algorithm' 카테고리의 다른 글

[Sort] Quick  (0) 2020.07.12
[Sort] Merge  (0) 2020.07.07
[Sort] Insertion  (0) 2020.07.07
[Sort] Selection  (0) 2020.07.05