答案:A。
根据矩阵运算知识,可以排除选项C与选项D,因为矩阵A与矩阵B相乘,矩阵A的列数必须与矩阵B的行数相等。
对于选项A与选项B,一个m*n的矩阵A乘以n*q的矩阵B,会用矩阵A的第一行,乘以矩阵B的第一列并相加。这一运算需要耗费n次乘法以及n-1次加法,矩阵B有q列,矩阵A有m行,所以,A*B的复杂度为m*(2n-1)*q。
根据上面的分析可知,选项A的复杂度为m*(2n-1)*p + m*(2p-1)*q,而选项B的复杂度为m*(2n-1)*q+ n*(2p-1)*q,很显然,选项A的效率高于选项B。所以,选项A正确。
a*b,b*c两矩阵相乘效率为a*c*b ABC=(AB)C=A(BC).
(AB)C = m*n*p + m*p*q,A(BC)=n*p*q + m*n*q.
m*n*p<m*n*q,m*p*q<n*p*q,所以(AB)C最小