GetMax()方法的java递归关系
这个方法的递推关系是什么,我不明白为什么它被解为t(n)=t(n-1)+1?但是每次递归调用改变(增加)的位置是什么
private static int getMaxRecursive(int[] arr,int pos) {
if(pos == (arr.length-1)) {
return arr[pos];
} else {
return Math.max(arr[pos], getMaxRecursive(arr, pos+1));
}
}
# 1 楼答案
getMaxRecursive(arr,0)
的时间李>getMaxRecursive(arr,1)
的时间李>getMaxRecursive(arr,arr.length-1)
的时间李>其中
n
是数组的长度换句话说,
T(i)
是长度为i
的数组的方法的运行时间,该数组是arr
的子数组,从索引arr.length-i
开始,到索引arr.length-1
结束所以