算法和函数的泛化

时间:2012-06-28 20:38:21

标签: algorithm data-structures recursive-datastructures

我承认我的数学功能有点差 但我真的很想让这个谜语出来 如何在x(n)=x(n-1)+x(n-2)+1n>1以及x(0)=0中表达x(1)=1 在功能y(n)=y(n-1)+n方面n>1y(0)=0以及y(1)=1 我在一些关于AVL树的pdf中找到了答案为x(n)=y(n+2)-1,以获得高度为n的AVL树的最小节点数nmin(n)。

请解释。

1 个答案:

答案 0 :(得分:1)

请更清楚您实际想要的内容和原因(如果相关的话)。

你的第一个方程式不均匀。为了使它同质化,你可以用这种形式写出来:

x[n]+1 = (x[n-1]+1)+(x[n-2]+1)

并替换u[n] = x[n] + 1获取

u[n] = u[n-1]+u[n-2]u[0] = 1u[1]=2

这些数字称为Fibonacci Numbers。关于这些数字有几个公式和结果。例如

带有u[n-2] = (phi^n - (-phi)^(-n)) / sqrt5

phi = (1 + sqrt 5) / 2 = 1.618...

给出了原始等式中x[n]的公式:

(phi^(n+2) - (-phi)^(-n-2)) / sqrt5 - 1

另一方面,您的其他等式y[n] = y[n-1] + n可以重复为

y[n] = y[n-1] + n = y[n-2] + (n-1) + n = ... = 1 + 2 + ... + n

众所周知,这笔金额为y[n] = n(n+1)/2

我发现您提供的x[n]y[n]之间没有明显的关系。