0
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表記は何ですか?

4

4 に答える 4

2

正しい (または少なくとも、再帰よりもはるかに効率的な) 方程式は次のようになります。

f(x) = x * (x - 1) / 2
于 2011-06-17T01:10:24.240 に答える
0

はい、関数は正しいです。y 値の差は 1 ずつ増加しています

編集済み:真実によるコメントをありがとう

関数の複雑さについては、このように y を見ることができます

y= 1 + (1+2) + (1+2+3) + ....(1+2+3+..n)

可能な限り高い次数項 1+2+3...n は O(n^2) y=O(n^2)

于 2011-06-17T01:10:16.623 に答える
0

問題を正しく述べる方法は次のとおりです。

f(x) = f(x - 1) + (x - 1)
f(1) = 0

f(x)で解きたいとしxます。

このような再帰式を解く方法はたくさんあります。私はWolfram Alphaを好んで使用しています。インターフェースが簡単です。

Wolfram Alphaクエリ "f(x)=f(x-1)+(x-1)"

それはあなたに正確な答えを与えます.big-O表記では、関数fO(x^2).

于 2011-06-17T06:08:01.780 に答える
0

宿題のようです。宿題タグでマークする必要があります。

f(x) = f(x-1) + (x-1) ということですか?

関数を解くには: http://en.wikipedia.org/wiki/Recurrence_relation#Solving

複雑さを得るには: http://en.wikipedia.org/wiki/Master_theorem

于 2011-06-17T01:07:49.817 に答える