我试图了解以下算法的时间复杂性:
static int g(int[] a) {
return g(a, 0, a.length-1);
}
static int g(int[] a, int i, int j) {
if(i == j) return a[i];
int onefourth = (j+1-i)/4;
return g(a, i, i+onefourth) + g(a, i+onefourth+1, j);
}
这是我的尝试:
算法g(int[] a,int,int )将数组a的维数除以4,并通过多次递归递归调用本身。我可以写出下列递归方程T(n) = T(n