MatrixChain(p)
n <- length(p) - 1
for i <- 1 to n
m[i,i] <- 0
for l <- 2 to n
for i <- 1 to n-l+1 {
j <- i+l-1
m[i,j] <- oo
for k <- i to j-1 {
q <- m[i,k] + m[k+1,j] + (p_i-1 * p_k *p_j)
if (q < m[i,j]) {
m[i,j] <- q
s[i,j] <- k
}
}
}
Up to CS 3158 home page