按行优先顺序存储下三角矩阵的非零元素,则计算非零元素aij(1≤j≤n)的地址的公式为其中入为每个数组元素所占用的存储单元空间。

admin2012-10-29  36

问题 按行优先顺序存储下三角矩阵的非零元素,则计算非零元素aij(1≤j≤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))]*λ    下列题目基于下图所示的二叉树:

答案8

解析 如果按行优先顺序列出下三角矩阵中的非零元素,得到如下序列 A11,A21,A22,...An1,An2…Ann,把它顺序存储在内存中,第一行到第i行共有非零元素的个数为[i×(i-1)/2],因此非零元素Aij(1≤j≤i≤n)的地址的公式为LOC(Aij):LOC (A11)+(i×(i-1)/2+(j-1)]*λ。因此本题正确答案是选项D。实际上这相当于是个等差数列求和的问题。鉴于题目的特殊性,可以考虑用特例法来解,这就是令i=1,j= 1,检验哪个选项是正确的。
转载请注明原文地址:https://jikaoti.com/ti/K647FFFM
0

最新回复(0)