先执行的进入压栈,一直到子节点返回到根节点处理,就是一个后序遍历的过程
在一个区间找最大数
public class test01 {
public static void main(String[] args) {
int a[] = new int[]{1, 2, 3, 4, 5, 6};
System.out.println(process(a, 0, a.length - 1));
}
public static int process(int a[], int left, int right) {
if (left == right) {
return a[left];
}
int mid = left + ((right - left) >> 1);
int leftNum = process(a, left, mid);
int rightNum = process(a, mid + 1, right);
return Math.max(leftNum, rightNum);
}
}
估计递归的时间复杂度
a为子问题调用次数,b是子问题规模大小,O(N^b)是其余执行时间
等规模大小的可以使用,不同规模不可使用