練習問題を解いていて、次の問題に出くわしました
以下の分割統治アルゴリズムに対応する繰り返しを書き留め、分割、征服、および結合のそれぞれのコンポーネントを正確にラベル付けします。
1. Foo (p, r):
2. if p = r
3. return (1)
4. else
5. s ← 1
6. for i = p to r
7. s ← s * i
8. q ← Foo(p, r − 1) * s
9. return (q)
私の答えの試み。
T(n) を Foo が p から r に渡って行った作業とすると、T(n) は Foo(p, r) と同等になります。ここで、n は r - p + 1 です。
次の繰り返しを取得します T(n) = T(n - 1) + Θ(n) + Θ(1)
分割部分は、r-1 操作に対応する定数 Θ(1) になります。
征服部分は、サブ問題を再帰的に解決する T(n - 1) です。
結合部分は、T(n - 1) * s の乗算演算の定数 Θ(1) です。
しかし、私は Θ(n) について言及しなかったので、それは間違っているようです。行 6、7 の Θ(n) は、分割、征服、結合のどの部分に該当しますか?