递归时间复杂度计算
递归查找数组中最大值的递归本质是系统帮助堆栈。 第一次去第10行时,自己调用自己,开始将包含行号10,L=0,mid=1的第10行信息推入堆栈。 然后,从头开始,到第10行时堆栈信息,行号10,L=0,mid=0,从头开始。
包basic _ class _ 01; //递归地将数组的最大值publicclassrecursionarray { publicstaticintgetmax (int [ ] arr,int L,int R ) if ) l==r (return arr ) l ) intleftmax=getmax(ARR、l、mid ); intrightmax=getmax(ARR,mid 1,r ); 返回math.max (left max,rightMax ); } publicstaticvoidmain (string args () intarr )={ 4,3,2,1 }; system.out.print(getmax(arr,0,arr.length-1 ); }由于时间复杂度a=2、b=2、d=0,所以时间复杂度为o(n )