数组和广义表中的压缩存储方式与元素地址问题

需积分: 0 0 下载量 51 浏览量 更新于2024-01-17 1 收藏 85KB DOCX 举报
第5章 数组和广义表1 本章主要介绍了数组和广义表的相关知识。在选择题中,首先提到了一个采用压缩存储方式的对称矩阵A,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间。然后提到了一个二维数组A[1:6,0:7],每个数组元素用相邻的6个字节存储,存储器按字节编址。 对于第一个选择题,要求是计算出元素a85的地址。根据题目中所给信息,可以知道每个元素占一个地址空间,而a11的地址为1,因此,元素a85的地址应该是从a11开始计算的第85个地址。所以,a85的地址为85。 对于第二个选择题,要求是计算出数组A的体积以及几个特定元素的地址。根据题目中所给信息,可以知道每个数组元素用相邻的6个字节存储,存储器按字节编址。所以,数组A的体积可以通过计算每个数组元素所占空间的总和得到,即6个字节乘以元素的个数。题目中给出的数组范围是A[1:6,0:7],共有6个行和8个列,所以数组A的体积为6*8*6个字节。 对于元素A[1,0]的第一个字节的地址,题目给出的是0,所以该元素的地址为0。根据题目中所给信息,可以知道该数组是按行存储的,所以A[2,4]的第一个字节的地址可以通过计算得出。每个数组元素用相邻的6个字节存储,所以A[2,4]的第一个字节的地址为A[1,0]的地址加上2*6+4*6*8个字节。同理,可以得出按列存储情况下A[5,7]的第一个字节的地址也是根据该数组的存储方式来计算的。 最后,题目要求计算出当I等于J时,按行存储的A[I,J]地址与按列存储的A[J,I]地址相等的情况。根据题目给出的数组范围,当I等于J时,A[I,J]即为A[I,I]。根据题目中所给信息,可以知道按行存储时,A[I,I]的地址可以通过计算得出,即A[1,0]的地址加上I*6*8个字节。同理,按列存储时,A[J,I]的地址可以通过计算得出,即A[1,0]的地址加上J*6个字节。所以,当I等于J时,按行存储的A[I,J]地址与按列存储的A[J,I]地址相等的情况为A[1,0]的地址加上I*6*8等于A[1,0]的地址加上J*6。 综上所述,本章主要介绍了数组和广义表的相关知识,选择题考察了对这些知识的理解和运用能力。通过计算题目中给定的条件,可以求解出各个需要计算的结果。