与n表示的变量的递归关系

时间:2016-07-24 19:58:06

标签: algorithm recursion time-complexity big-o recurrence

我写了一个在Get-AppxPackage | ? {$_.IsDevelopmentMode -eq "True"} | Remove-AppxPackage中运行的递归算法。

Θ(n)的一个递推方程是n > 0,其中T(n) = T(v) + T(n - 1 - v) + c是常量,c是一个变量,其值可以是固定范围{{1} }。

我如何进一步解决或正确地简化这个等式?

2 个答案:

答案 0 :(得分:1)

重复扩展非常数术语:

enter image description here

该系列在以下时间终止:

enter image description here

这意味着enter image description here,因为术语T(v)将取消N中的分母。

答案 1 :(得分:0)

在评论中,您描述了算法的行为,如下所示:它对空树执行一定量的工作,否则执行一定量的工作,然后递归处理左右子树。您可以以不同的方式考虑运行时,而不是使用您描述的重复关系描述运行时:完成的工作与树中的节点数成正比,因为您可以对每个完成的工作单元收费到特定节点。因此,总运行时间为O(n)。