按行优先顺序存储下三角矩阵 的非零元素,则计算非零元素aij(1≤j≤i≤n)的地址的公式为

admin2009-10-15  36

问题 按行优先顺序存储下三角矩阵

的非零元素,则计算非零元素aij(1≤j≤i≤n)的地址的公式为

选项 A、LOC(aij)=LOC(a11)+i×(i+1)/2+j
B、LOC(aij)=LOC(a11)+i×(i+1)/2+(j-1)
C、LOC(aij)=LOC(a11)+i×(i-1)/2+j
D、LOC(aij)=LOC(a11)+i×(i-1)/2+(j-1)

答案D

解析 无论规定行优先或列优先,只要知道以下三要素便可随时求出任一元素的地址:开始结点的存放地址(即基地址)、维数和每维的上下界、每个数组元素所占用单元数。设一般的二维数组是A[c1..dl,c2..d2],则行优先存储时的地址公式为:LOC(aij)=LOC(ac1,c2)+[(i-c1)*(d2-c2+1)+(j-c2)]*L;二维数组列优先存储的通式为:LOC(aaij)=LOC(ac1,c2)+[(j-c2)*(d1-c1+1)+(i-c1)]*L。本题中,c1=1,c2=1,d1=n,d2=n,代入行优先的公式,可知D选项正确。
转载请注明原文地址:https://jikaoti.com/ti/hNC7FFFM
0

最新回复(0)