Algorithm 一种具体算法运行时间的递归分析

Algorithm 一种具体算法运行时间的递归分析,algorithm,runtime,big-o,big-theta,Algorithm,Runtime,Big O,Big Theta,我将如何计算该算法的运行时间,以便将来可以解决类似的问题 对于输入大小n,满足递推关系(对于n>=1) 消除总和的一种方法是在乘以$n$后计算差值(允许我写LaTeX,即使本网站不使用它;我希望公式可以理解): $$ (n+1)a{n+1}-n =2 a_n+5 $$ $$ (n+1)a{n+1}-(n+2)a_n=5 $$ 这是一个一阶线性递归。表格的重复出现: $$ x_n-u_{n-1}x_{n-1}=f_n $$ 可通过除以求和因子$S_n=\prod_{0\le k\le n}u_n$

我将如何计算该算法的运行时间,以便将来可以解决类似的问题

对于输入大小n,满足递推关系(对于n>=1)


消除总和的一种方法是在乘以$n$后计算差值(允许我写LaTeX,即使本网站不使用它;我希望公式可以理解):

$$ (n+1)a{n+1}-n =2 a_n+5 $$

$$ (n+1)a{n+1}-(n+2)a_n=5 $$

这是一个一阶线性递归。表格的重复出现:

$$ x_n-u_{n-1}x_{n-1}=f_n $$

可通过除以求和因子$S_n=\prod_{0\le k\le n}u_n$得到一个和:

$$ \frac{x_n}{S_n}-\frac{x_{n-1}{S_{n-1}=\frac{f_n}{S_n} $$

对$1\le n\le n$求和给出了方程的解

在您的特定情况下,$S_n=\prod_{0\le k\le n}\frac{n+2}{n+1}=n+1$,因此:

$$ \frac{a{k+1}{k+2}-\frac{a{k}{k+1}=\frac{5}{(k+1)(k+2)} $$

\开始{align} \frac{a_n}{n+1}-\frac{a_0}{1} &=5\sum{0\lek 最后:

$$ a_n=a_0(n+1)+5n
$$

这将对您有所帮助。它清楚地解释了每一步。谢谢,这很完美!但我仍在为格式而挣扎,如何开始这一分析,“…”让我感到厌烦。开始考虑n=5,6,7…,然后您可能会最终解决您需要的问题:)我是否只需将第一个案例写成(2/n)(T(n-1)+5)?不,我的意思是T(5)=(2/5)*(T)(0)+T(1)+T(2)+T(3)+T(4)+5*5,或者考虑T(3),以便更容易地分析和理解时间是如何计算的。
T(n) = (2/n) * (T(0) + T(1) + ... + T(n-1)) + 5n