0

アルゴリズムが問題を解決するために C(n+r-1, r-1) ステップを必要とする場合 (n は入力数、r は定数)、アルゴリズムのステップは指数関数的成長を考慮しますか?</p>

4

2 に答える 2

1

C二項係数関数であると仮定しますC(n + r - 1, r - 1) = (n + r - 1)! / ((r - 1)! * n!)rは定数なので(r - 1)!、big-O 表記を使用する場合は無視できるため、 が得られO((n + r - 1)! / n!)ます。これは宿題かもしれないと思うので、自分でここから先に進んでみてください。(n + r - 1)! / n!の内部にあるため、非常に単純な式に還元することができ、O()指数関数であるかどうかを簡単に確認できます。(ヒント: には因子がいくつあり(n + r - 1)! / n!ますか?)

于 2012-07-16T09:49:20.660 に答える
0

いいえ、複雑さO(n^(r-1))は、指数関数的成長ではなく(そしてそれよりも優れた)多項式成長です。

let g(n) = C(n+r-1, r-1) 
         = (n+r-1)! / ((r-1)!n!)  
         = (n+1)(n+2)...(n+r-2)(n+r-1) / (r-1)!
         = n^(r-1) + kn^(r-2) + k'n^(r-3)... k''n + k''' / (r-1)!

it's easy to say that k,k'...k'',k'''and (r-1)! are all constant,
so T(g(n)) = O(n^(r-1))
于 2012-07-16T12:41:37.300 に答える