设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( )。
A. 13
B. 33
C. 18
D. 40
对于对称矩阵的压缩存储,无论是选择行序为主还是列序为主,都可以选择上三角存储方式和下三角存储方式,因为两个三角对称的值是相等的。
题目让我们求a85那么显然是下三角,因为i=8 > j=5(如果是上三角那么i是小于j的)
我们只要算出a85前面有几个元素就行了,然后乘以每个元素占的空间,加上首地址,就是a85的地址啦。
Add(a85) = 1 + 1 * [ 1 + 2 + 3 + 4 + 5 + 6 + 7 + ( 5 - 1) ] = 1 + 1 * 32 = 33
选B。
其中5 - 1 表示第八行前面有4个元素嗷。
a85是上三角形,前7行的元素个数和=(1+7)/2*7=28
第8行的元素的个数 = 5个
所以地址为1+33-1=33
fzh 回复 fzh: 说错了是下三角
1+2+3+4+5+6+7+5=33
“对成矩阵”“行优先”压缩存储”“首元素a11”“求a85” 故L=1+{[(7-1+1)*(7+1)/2]+4}*1=33
B
按行存储是下三角;按列存储是上三角
北方 回复 zyjf: 没这个规定
b
按照下三角存储方式使用公式 (i*(i-1))/2 +J得 8*7/2+5=33
用户登录可进行刷题及查看答案
登录后提交答案