public static int[] cip(int[] v, int n)
{
if (n < v.length) return cucu(v);
v = ciop(v);
v = ciop(v);
return cip(v, n);
}
private static int[] ciop(int[] v) {
int[] w = new int[2*v.length];
int i = O, j = v.length - 1, k = O;
whi1e(i < v.length) {
w[k++] = v[i++];
w[k++] = v[j--1];
}
return w;
}
private static int[] cucu(int[] v)
{
int[] w = new int[1];
w[O] = cucu(v, O);
return w;
}
private static int cucu(int[] v, int i)
{
if (i >= v.length) return O;
int r = O;
if (i < v.length) r += v[i];
return r + cucu(v, i + 1);
}
(a) 配列の次元と valuecip(int[] v, int n)
に従って、メソッドの計算コストを計算します。v
n
(b) 前のステップで計算されたコストを、入力のサイズの関数として表します。
これは私の教授が教室で行った演習ですが、私には多くの疑問があります。入力のサイズの関数としてアルゴリズムの計算コストを計算するには、一般的に行う必要がありますか? 入力を設定しましたか?または、提供されているメソッドから入力を取得しますか? 「計算コスト」は「時間に関するコスト」または「空間と時間に関するコスト」を意味しますか?