行列を掛け合わせる際に最適な方法を見つけるMatrix Chain Orderアルゴリズムがあります。なぜそれがO(n^3)の実行時間を持つが、その大きなオメガ(n^3)を証明するのに問題があるのか分かります。アルゴリズムは アルゴリズムマトリックスチェーン・オーダ(P)ダイナミックプログラミングの解析Matrix-Chain-Order
1. n ← p.length − 1
2. for i ← 1 to n do
3. m[i, i] ← 0
4. for l ← 2 to n do
5. for i ← 1 to n − l + 1 do
6. j ← i + l − 1
7. m[i, j] ← ∞
8. for k ← i to j − 1 do
9. q ← m[i, k] + m[k + 1, j] + pi−1pkpj (these are P(base)i-1
10. if q < m[i, j] then
11. m[i, j] ← q
12. s[i, j] ← k
13. return s
はO(n^3)の下でネストされたと(N)回Oを実行している3つのループがあるので、明らかです。どのように私は大きなオメガ(n^3)を見つけることになるでしょうか?
あなたは本当にbackquoteという名前の変数を持っていますか? pi-1pkpjとは何ですか? –