![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
设n大于等于0,有一个递归算法如下: 则计算fact(n)需要调用该函数的次数为多少次?
设n大于等于0,有一个递归算法如下:
则计算fact(n)需要调用该函数的次数为多少次?
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
设n大于等于0,有一个递归算法如下:
则计算fact(n)需要调用该函数的次数为多少次?
Ackermann函数A(m,n)可递归定义如下:
试设计一个计算A(m,n)的动态规划算法,该算法只占用O(m)空间(提示:用两个数组val[0:m]和ind[0:m],使得对任何i有val[i]=A(i,ind[i])).
计算多项式Pn(x) –a0xn十a1xn-1+a2xn-2+…+an-1x十an的值, 通常使用的方法是一种嵌套的方法。它可以描述为如下迭代形式:bv=av,bi+1=x×bi+ai+1, i=0, 1,…,n-l。若设bn=Pn(x) , 则问题可以写为如下形式:Pn(x) =x×Pn-1(x)+an, 此处, Pn-i(x) =avxn-1+a1xn-2+…+an-2x+an-1, 这是问题的递归形式。试编写一个函数, 计算这样的多项式的值。
线性搜索算法如下:
设A的n个元素都不相同.r已在A中的概率为p(0≤p≤1),并且当x在A中时,x等于A的每一个元素的可能性相等.试分析算法的平均时间复杂度.
能否从这n件物品中选择若干件放入此背包中,使得放入的重量之和正好为s。如果存在一种符合上述要求的选择,则称此背包问题有解(或称其解为真);否则称此背包问题无解(或称其解为假)。试用递归方法设计求解背包问题的算法。(提示:此背包问题的递归定义如下:)
A.如果内含报酬率大于12%,则项目净现值大于0
B.如果内含报酬率等于12%,则项目动态回收期等于10年
C.如果内含报酬率小于12%,则项目现值指数小于0
D.如果内含报酬率大于12%,则项目现值指数大于1
已知Ackermann函数定义如下:
①写出计算Ack(m,n)的递归算法,并根据此算法给出出Ack(2,1)的计算过程。
②写出计算Ack(m,n)的非递归算法。