‡๐Ÿ‘ฉ‍๐Ÿ’ป ‡/º Java

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฒ„๋ธ” ์ •๋ ฌ(Bubble sort)

Trudy | ์†ก์—ฐ 2023. 12. 11. 15:52

 

 

๐Ÿ“๋ฒ„๋ธ” ์ •๋ ฌ์ด๋ž€?

๋ฒ„๋ธ” ์†ŒํŠธ๋Š” ์›์†Œ์˜ ์ด๋™์ด ๊ฑฐํ’ˆ์ด ์ˆ˜๋ฉด์œผ๋กœ ์˜ฌ๋ผ์˜ค๋Š” ๋“ฏํ•œ ๋ชจ์Šต์ด์–ด์„œ ์ง€์–ด์ง„ ์ด๋ฆ„์ด๋‹ค. 

 

์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(n^2)์œผ๋กœ ์ƒ๋‹นํžˆ ๋А๋ฆฐ ์ •๋ ฌ ๋ฐฉ์‹์ด์ง€๋งŒ,

์ฝ”๋“œ๊ฐ€ ๋‹จ์ˆœํ•ด์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

์‹œ๊ฐ„ ๋ณต์žก๋„ ๋น„๊ต ๊ตํ™˜
์ตœ์•…์˜ ๊ฒฝ์šฐ  O(n^2) O(n^2)
์ตœ์„ ์˜ ๊ฒฝ์šฐ O(n) O(1)
ํ‰๊ท  O(n^2) O(n^2)

 

๋ฐฐ์—ด์˜ ์ธ์ ‘ํ•œ ๋‘ ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๊บผ๋‚ด์™€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋น„๊ต๋ฅผ ํ•˜๊ณ , ์™ผ์ชฝ ์›์†Œ๊ฐ€ ์˜ค๋ฅธ์ชฝ ์›์†Œ๋ณด๋‹ค ํฌ๋‹ค๋ฉด ๋‘ ์ˆ˜๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋Š” ์ž‘์—…์„ ์ „์ฒด ๋ฐฐ์—ด์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•œ๋‹ค. 

๊ทธ๋ ‡๊ฒŒ ์ „์ฒด ๋ฐฐ์—ด์„ ๋‹ค ํƒ์ƒ‰ํ•˜๊ฒŒ ๋˜๋ฉด, ๊ฐ€์žฅ ํฐ ์›์†Œ๊ฐ€ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์— ์œ„์น˜ํ•˜๊ฒŒ ๋œ๋‹ค.๋”ฐ๋ผ์„œ ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์›์†Œ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์›์†Œ๋“ค์— ๋Œ€ํ•ด ๋˜ ๊ฐ™์€ ์ž‘์—…์„ ์‹œํ–‰ํ•œ๋‹ค. 

์ž‘์—… ๋‹จ์œ„๋ฅผ ํšŒ์ฐจ๋ผ๊ณ  ํ–ˆ์„ ๋•Œ, ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ n์ธ ๊ฒฝ์šฐ n-1ํšŒ์ฐจ๋ฅผ ์ง„ํ–‰์ด ์™„๋ฃŒ๋˜๋ฉด ์ „์ฒด ๋ฐฐ์—ด์ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ๋‹ค.


๐Ÿ“JAVA | ๋ฒ„๋ธ” ์ •๋ ฌ ๊ตฌํ˜„ ์ฝ”๋“œ

import java.util.Arrays;

public class bubbleSort {
    static void bubbleSort(int[] arr) {
        for(int i = 0; i < arr.length - 1; i++) {
        //i๋ฅผ ๋นผ์คŒ์œผ๋กœ์จ ํƒ์ƒ‰ ๋ฒ”์œ„๋ฅผ ์ค„์ž„! (๋งˆ์ง€๋ง‰ ์›์†Œ๋“ค ์ž ๊ธˆ ๊ฑธ์–ด์คŒ)
            for(int j= 1 ; j < arr.length-i; j++) {
                if(arr[j]<arr[j-1]) {
                //๋ฐ”๊ฟ”์น˜๊ธฐ
                    int temp = arr[j-1];
                    arr[j-1] = arr[j];
                    arr[j] = temp;
                }
            }
            //๊ฐ ํšŒ์ „๋งˆ๋‹ค ์ „์ฒด ๋ฐฐ์—ด ์ถœ๋ ฅ
            System.out.println( i+1 +"ํšŒ์ „: "+Arrays.toString(arr));

        }
        //์ „์ฒด ๋ฐฐ์—ด ์ถœ๋ ฅ
        System.out.println("\n์ •๋ ฌ๋œ ์ตœ์ข… ๋ฐฐ์—ด: "+Arrays.toString(arr));

    }

    public static void main(String[] args) {
        int[] arr = {5, 1, 9, 7, 2, 3};
        bubbleSort(arr);
    }
}

 

 

๐Ÿ“์‹คํ–‰ ๊ฒฐ๊ณผ