使用替换,递归树或归纳法编写描述函数最坏情况运行时的递归关系

问题描述

我目前需要帮助,以完全了解有关递归的主题。如果有人能帮助我,我将非常感激。请为循环运行时添加基本条件(T(0)),并说明为什么选择了其他谢谢!

问题1:

function ex1(A[],n)
   if n <= 10 then
      return A[n]
   else
      x = 0
      for i= 1 to 4 do
         for j= 1 to [n/2] do
             x = x + A[i]
         end for
         x= x + ex1 (A,[n/4])
      end for
      return x
   end if
end function

这是到目前为止我对第一部分的不满: 时间复杂度: T(n)= Cn + T(n / 4),T(n / 4)= Cn / 4 + T(n / 16),T(n)= Cn + Cn / 4 + T(n / 16),T (n)= Cn / 4 ^ k + T(n / 4 ^ k),令K =一些常数。 (我不知道如何找到使用n求解k的初始条件。)我选择了10。 解决:

cn*sum(from i=0 to k-1)(1/4^i) + T(10) ) =
Upper Bound,Cn*sum(i=0 to infinity)((1/4)^i + C). 
Using geometric sum,(1/4)^i evaluates to 4. 
final answer 4*Cn and O is in (n).

我不确定。

问题2:

function ex2(A[],n)
   if n <= 12 then
      return A[n]
   else
      x = 0
      for i= 1 to [n/2] do
         for j= 1 to [n/4] do
             x = x + A[i] + A[j]
         end for
         x= x + ex2 (A,[n-j])
      end for
      return x
   end if
end function

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...