これは、Cormenらによる "Introduction to Algorithms"で解決された問題です。 al。 Ch。 15、セクション15.2:行列連鎖の乗算。 Pg。目的は、最小数のスカラー倍算が存在するように、行列連鎖積A1.A2.A3 .....をかっこで囲むことです。
についてAi.Ai + 1 .... Ak.Ak + 1 ..... Ajと、
行列Aiは、ディメンションPI-1xpi を持っている著者は、再帰
行列の鎖の乗算の時間の複雑さ
m[i,j] = 0 if i=j
= min {m[i,k] + m[k+1] + pi-1.pk.pj} where i goes from k to (j-1) if i<j
を思い付きます
(m [i、j]は、Ai ... Ajの積に必要なスカラー乗算の最小数)
これまでのところ、私は理解しましたが、時間の複雑さはO(n^3) 。
私は擬似コードを見ると、3つのforループがあるので正しいです。しかし、私は再帰を見ることでこれを直感的に理解しません。
誰でもお手伝いできますか?
ああ、ありがとうございます。私は今理解していると思うよ! – rgamber