๐๋ฒ๋ธ ์ ๋ ฌ์ด๋?
๋ฒ๋ธ ์ํธ๋ ์์์ ์ด๋์ด ๊ฑฐํ์ด ์๋ฉด์ผ๋ก ์ฌ๋ผ์ค๋ ๋ฏํ ๋ชจ์ต์ด์ด์ ์ง์ด์ง ์ด๋ฆ์ด๋ค.
์๊ฐ ๋ณต์ก๋๊ฐ 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);
}
}
๐์คํ ๊ฒฐ๊ณผ

'โก๐ฉโ๐ป โก > ยบ Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฃ๊ตฌ์กฐ] ์ด์ง ํ์ ํธ๋ฆฌ ๊ตฌํ | Java (0) | 2023.12.09 |
---|---|
[์๊ณ ๋ฆฌ์ฆ] ์ต๋จ ๊ฑฐ๋ฆฌ | A-Star ์๊ณ ๋ฆฌ์ฆ (A* algorithm) ๊ตฌ (0) | 2023.12.08 |
[์๋ฃ๊ตฌ์กฐ] ๋ฆฌ์คํธ (List) ๊ตฌํ (Java) (0) | 2023.12.05 |
[Java] ์ฌ๊ท | ํ๋ ธ์ด ํ (0) | 2023.12.04 |
[์๋ฃ๊ตฌ์กฐ] ํ (Queue) ๊ตฌํ (Java) (0) | 2023.12.04 |