Matrix Chain(행렬 체인) 질문
초코향
질문 제목 : matrix chain(행렬 체인) 질문두번째 for문의 l과 i와 그 바로 아랫 줄의 j를 왜 저렇게 해야하는지 이해가 되지 않습니다.도와주세요.
질문 내용 :
// matrix ai has dimension p[i-1] x p[i] for i = 1..n
matrix-chain-order(int p[])
{
// length[p] = n + 1
n = p.length - 1;
// m[i,j] = minimum number of scalar multiplications (i.e., cost)
// needed to compute the matrix a[i]a[i+1]...a[j] = a[i..j]
// cost is zero when multiplying one matrix
for (i = 1; i = n; i++)
m[i,i] = 0;
for (l=2; l=n; l++) { // l is chain length
for (i=1; i=n-l+1; i++) {
j = i+l-1;
m[i,j] = maxint;
for (k=i; k=j-1; k++) {
// q = cost/scalar multiplications
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] = second auxiliary table that stores k
// k = index that achieved optimal cost
s[i,j] = k;
}
}
}
}
}