Algorithm 递归方法的运行时间

Algorithm 递归方法的运行时间,algorithm,runtime,time-complexity,Algorithm,Runtime,Time Complexity,我已经为一种方法编写了伪代码,用于计算Pascal三角形的第I行,第j列中的一个条目 Pascal(i,j) if(i==j or j==0) return 1; return Pascal(i-1,j-1) + Pascal(i-1,j) 我的问题是我无法计算出运行时间。我知道它是指数的,但我不知道如何通过解一个递推关系来证明它 你最好举出几个例子,看看你能走多远。记住你有一个三角形。从第一排开始,然后进入第一排1。在下一步中,您位于i-2排。等等。在最坏的情况下,你必须后

我已经为一种方法编写了伪代码,用于计算Pascal三角形的第I行,第j列中的一个条目

Pascal(i,j)
  if(i==j or j==0)
     return 1;
  return Pascal(i-1,j-1) + Pascal(i-1,j)

我的问题是我无法计算出运行时间。我知道它是指数的,但我不知道如何通过解一个递推关系来证明它

你最好举出几个例子,看看你能走多远。记住你有一个三角形。从第一排开始,然后进入第一排1。在下一步中,您位于i-2排。等等。在最坏的情况下,你必须后退多少行


画出图片并举例来建立直觉。从几个i=6的例子中找到证明应该很容易。

看起来您的代码中可能有一些错误:在if中,您将j设置为0,而不是使用
=
。而且,你只返回1-如果我返回,返回的位置在哪里=0和j!=0?我建议在MathOverflow中问您的问题,我就是这么做的,而且在我看来,要获得第n行的值,需要上一行的加法数加上n-1。所以,我得到T(n)=T(n-1)+n-1。这是正确的吗?