マージソートを実装しようとしていますが、ベース条件の実装に問題があります。マージソートのベース条件
私は2つのソートされた配列を取り込み、マージされた配列を返す関数merge
を持っています。
int[] merge(int[] a , int[] b)
今私のマージソートルーチンがよう
private static int[] mergeSort(int[] a, int low , int high)
{
int mid = (low + high) /2;
if (low < high)
{
return merge(mergeSort(a,low, mid-1), mergeSort(a, mid , high));
}
return //return what ?
}
を下回っている、ここで基本条件は何ですか?私が作っている間違いは何ですか?