์ถ์ฒ
ChatGPT
์ ์๋ฆฌ ์ ๋ ฌ์ด๋ ์ถ๊ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฑฐ์ ์ฌ์ฉํ์ง ์๊ณ (์์ ๊ณต๊ฐ๋ง ์ฌ์ฉ) ์๋ ์ฃผ์ด์ง ๋ฐฐ์ด ๋๋ ๋ฆฌ์คํธ ๋ด์์ ์์๋ค์ ์ ๋ ฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋งํ๋ค. ์ฆ, ์ ๋ ฅ ์๋ฃ๋ฅผ ์ํ ์ถ๊ฐ์ ์ธ ํฐ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํ์ง ์๊ณ , ๋ฐ์ดํฐ ์์ฒด๋ฅผ ๊ตํํ๊ฑฐ๋ ์ด๋์ํค๋ฉด์ ์ ๋ ฌ์ ์ํํ๋ค.
์์
๋ฒ๋ธ ์ ๋ ฌ(Bubble Sort), ์ ํ ์ ๋ ฌ(Selection Sort), ์ฝ์ ์ ๋ ฌ(Insertion Sort) ๋ฑ์ ์ ์๋ฆฌ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
๋น์ ์๋ฆฌ ์ ๋ ฌ Out-Of-Place Sort
๋ณํฉ ์ ๋ ฌ(Merge Sort)๊ณผ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ๋น์ ์๋ฆฌ ์ ๋ ฌ๋ก ๋ถ๋ฅ๋๋ค. ๋ณํฉ ์ ๋ ฌ์ ์ ๋ ฌ์ ์ํด ์ถ๊ฐ์ ์ธ ๋ฐฐ์ด ๊ณต๊ฐ์ด ํ์ํ๋ค.
์ ์๋ฆฌ ์ ๋ ฌ์ ํน์ง
์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ด ์ ์
์ผ๋ฐ์ ์ผ๋ก ์์ ๊ณต๊ฐ(O(1))๋ง ์ถ๊ฐ๋ก ์ฌ์ฉํ๋ค.
๋ฐ์ดํฐ ์์ฒด๋ฅผ ๊ตํ
์๋ ๋ฐฐ์ด์ด๋ ๋ฆฌ์คํธ ๋ด์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๋ฏ๋ก ์ ๋ ฅ ๋ฐฐ์ด ์ธ์ ํฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ํ์ํ์ง ์๋ค.
์ ์๋ฆฌ ์ ๋ ฌ์ ์ฅ์
๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ
์ ์๋ฆฌ ์ ๋ ฌ์ ํฐ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ ์ด ํจ์จ์ ์ด๋ค.
์์ : ์ ํ ์ ๋ ฌ Selection Sort
์ ํ ์ ๋ ฌ์ ๋ฐฐ์ด ๋ด์์ ๊ฐ์ฅ ์์(๋๋ ๊ฐ์ฅ ํฐ) ์์๋ฅผ ์ฐพ์ ๊ตํํ๋ฉด์ ์ ์๋ฆฌ์์ ์ ๋ ฌ์ ์ํํ๋ค.
public class SelectionSort {
public static void selectionSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// ์ต์๊ฐ์ ํ์ฌ ์์น์ ๊ตํ
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
}
'๋น ๊ตฌ๋ฉ ์ฑ์ฐ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฃ ๊ตฌ์กฐ][Java] ํ Heap (1) | 2024.09.17 |
---|---|
[์๊ณ ๋ฆฌ์ฆ] ์์ ์ ์ธ ์ ๋ ฌ Stable Sorting (1) | 2024.09.15 |
[Java] Queue ์ธํฐํ์ด์ค (1) | 2024.09.14 |
[๋์์ธ ํจํด][Java] ์์ฐ์-์๋น์ ํจํด Producer-Consumer Pattern (0) | 2024.09.14 |
[Java] TreeMap ๊ตฌํ (0) | 2024.09.14 |