μΆμ²
ChatGPT
μμ μ μΈ μ λ ¬μ΄λ μ λ ¬ μ μ λμΌν κ°μ κ°μ§ μμλ€μ μλμ μΈ μμκ° μ λ ¬ νμλ μ μ§λλ μ λ ¬ μκ³ λ¦¬μ¦μ λ§νλ€. μ¦, κ°μ΄ κ°μ λ μμκ° μμ λ, μ λ ¬ μ μμμ μμκ° μ λ ¬ νμλ λμΌνλ€λ©΄ κ·Έ μ λ ¬ μκ³ λ¦¬μ¦μ μμ μ μ΄λ€.
μμ
λ³ν© μ λ ¬(Merge Sort), λ²λΈ μ λ ¬(Bubble Sort), μ½μ μ λ ¬(Insertion Sort)μ μμ μ μΈ μ λ ¬ μκ³ λ¦¬μ¦μ΄λ€.
λΉμμ μ μΈ μ λ ¬
ν΅ μ λ ¬(Quick Sort), ν μ λ ¬(Heap Sort) λ±μ λΉμμ μ μΈ μ λ ¬ μκ³ λ¦¬μ¦μΌλ‘, μ λ ¬λ ν λμΌν κ°μ μμλ€ κ°μ μμκ° λ³ν μ μλ€. -> μ λ ¬νλ©΄μ κ°μ΄ κ°μ μμλ€μ μμκ° λ°λλ κ²½μ°κ° μλ
μμ μ μΈ μ λ ¬μ νΉμ§
λ°μ΄ν°μ μμ μ μ§
λμΌν κ°μ΄ μ¬λ¬ κ°κ° μμ λ, κ·Έ κ°λ€ κ°μ μλμ μΈ μμκ° λ³νμ§ μλλ€.
μ λ ¬μ΄ μ€μν κ²½μ°
μμ μ μΈ μ λ ¬μ λμΌν κ°μ μμκ° μ€μν κ²½μ°, μλ₯Ό λ€μ΄, λ°μ΄ν°μ νΉμ κΈ°μ€μΌλ‘ 1μ°¨ μ λ ¬ ν, 2μ°¨ μ λ ¬μ μνν λ μ μ©νλ€.
μμ : λ³ν© μ λ ¬ Merge Sort
λ³ν© μ λ ¬μ μμ μ μΈ μ λ ¬ μκ³ λ¦¬μ¦μΌλ‘, μ λ ¬λ λ νμ λ°°μ΄μ λ³ν©ν λ, κ°μ κ°μ΄ μμ κ²½μ° μμ μλ μμλ₯Ό λ¨Όμ λ³ν©ν΄ μλμ μΈ μμλ₯Ό μ μ§νλ€.
public class MergeSort {
public static void mergeSort(int[] arr, int[] temp, int leftStart, int rightEnd) {
if (leftStart >= rightEnd) {
return;
}
int middle = (leftStart + rightEnd) / 2;
mergeSort(arr, temp, leftStart, middle);
mergeSort(arr, temp, middle + 1, rightEnd);
mergeHalves(arr, temp, leftStart, rightEnd);
}
private static void mergeHalves(int[] arr, int[] temp, int leftStart, int rightEnd) {
int leftEnd = (rightEnd + leftStart) / 2;
int rightStart = leftEnd + 1;
int size = rightEnd - leftStart + 1;
int left = leftStart;
int right = rightStart;
int index = leftStart;
while (left <= leftEnd && right <= rightEnd) {
if (arr[left] <= arr[right]) {
temp[index] = arr[left];
left++;
} else {
temp[index] = arr[right];
right++;
}
index++;
}
System.arraycopy(arr, left, temp, index, leftEnd - left + 1);
System.arraycopy(arr, right, temp, index, rightEnd - right + 1);
System.arraycopy(temp, leftStart, arr, leftStart, size);
}
}
'λΉ κ΅¬λ© μ±μ°κΈ°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μλ£ κ΅¬μ‘°]μ΄μ§ ν Binary Heap (1) | 2024.09.18 |
---|---|
[μλ£ κ΅¬μ‘°][Java] ν Heap (1) | 2024.09.17 |
[μκ³ λ¦¬μ¦] μ μ리 μ λ ¬ In-Place Sorting (1) | 2024.09.15 |
[Java] Queue μΈν°νμ΄μ€ (1) | 2024.09.14 |
[λμμΈ ν¨ν΄][Java] μμ°μ-μλΉμ ν¨ν΄ Producer-Consumer Pattern (0) | 2024.09.14 |