X=2, y=1
X=3, y=3
X=4, y= 6
X=5, y= 10
X=6, y= 15
X=7, y= 21
X=8, y=28
我知道f(x)= f(x-1)+(x-1)
但是......那是正确的数学函数吗? Big O符号会是什么?答案 0 :(得分:2)
正确的(或者至少比递归更有效的)方程式
f(x) = x * (x - 1) / 2
答案 1 :(得分:0)
看起来像家庭作业。你应该用作业标签来标记它。
你的意思是f(x)= f(x-1)+(x-1)?
要解决这个问题: http://en.wikipedia.org/wiki/Recurrence_relation#Solving
答案 2 :(得分:0)
是的,函数是正确的,y值之间的差异逐渐增加1
编辑:感谢trutheality的评论
对于功能的复杂性,你可以看到这样的
y = 1 +(1 + 2)+(1 + 2 + 3)+ ....(1 + 2 + 3 + .. n)
作为最高可能度项1 + 2 + 3 ... n是O(n ^ 2) Y = O(N ^ 2)
答案 3 :(得分:0)
正确陈述问题的方法是:
f(x) = f(x - 1) + (x - 1)
f(1) = 0
您希望根据f(x)
来解决x
。
有很多方法可以解决这些递归公式。我喜欢使用Wolfram Alpha,它有一个简单的界面。
Wolfram Alpha query "f(x)=f(x-1)+(x-1)"
这为您提供了精确的答案,用大写符号表示函数f
位于O(x^2)
。