请问一下这个时间复杂度怎么算 10
1个回答
展开全部
这是一个递归算法,即自己调用自己的一种函数,在函数中,调用函数为:Max(a,n-1);
首先要明白一点,在递归函数中,递归的形式是类似于栈的,即先进后出,举例说明:
Max(a,n-1)调用以后产生的又一个调用函数为:
Max(a,n-2),然后为:
Max(a,n-3)
......
一直到n==1的时候结束递归,在计算时,最后一个产生的调用函数先计算,即Max(a,1)然后以此往前计算。
在这个过程中,调用函数调用了n次,时间复杂度为O(n)
首先要明白一点,在递归函数中,递归的形式是类似于栈的,即先进后出,举例说明:
Max(a,n-1)调用以后产生的又一个调用函数为:
Max(a,n-2),然后为:
Max(a,n-3)
......
一直到n==1的时候结束递归,在计算时,最后一个产生的调用函数先计算,即Max(a,1)然后以此往前计算。
在这个过程中,调用函数调用了n次,时间复杂度为O(n)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询