0
私はMergeSortをコーディングしようとしました。しかし、私のコードはMergeSortの有名な実装とは大きく異なっています。だから私は私の実装が正しい場合、知りたいです。私のアルゴリズムは、2つの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は一般に、1つのソートされていない配列を入力として扱うことが分かっているため、解決している問題はかなり単純です。 –
私はマージを見る。私はその並べ替えを見ません。 –
これはmergソートの一部です –