0
MergeSort를 코딩하려고했습니다. 그러나 제 강령은 MergeSort의 유명한 구현과 매우 다릅니다. 그래서 내 구현이 정확한지 알고 싶습니다. My Algorithm은 두 개의 int 배열 (각각 정렬 됨)을 취해 정렬 된 큰 배열에 배치합니다. 그리고 알고리즘의 점근 적 복잡성은 무엇입니까? 대단히 감사합니다 !!이 MergeSort입니까?
public static int[] myMergeSort(int[] array, int[] array2) {
int[] giveback = new int[array.length + array2.length];
int i = 0;
int j = 0;
for (int x = 0; x < giveback.length; x++) {
if (array[i] >= array2[j]){
giveback[x] = array2[j];
j++;
} else {
giveback[x] = array[i];
i++;
}
if (i == array.length) {
x++;
for (int c = j; c < array2.length; c++) {
giveback[x] = array2[c];
x++;
}
return giveback;
}
if (j == array2.length) {
x++;
for (int b = i; b < array.length; b++){
giveback[x] = array[b];
x++;
}
return giveback;
}
}
return giveback;
}
Mergesort는 일반적으로 단일 정렬되지 않은 배열을 입력으로 인식하므로 해결하려는 문제는 훨씬 간단합니다. –
나는 병합을 본다. 나는 종류를 보지 못한다. –
이것은 merg 정렬의 일부일뿐입니다. –