首页 > 试题广场 >

设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储

[单选题]
设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为(     )。
  • 13
  • 33
  • 18
  • 40
由于是对称矩阵,因此压缩存储可以认为只要存储下三角矩阵。
(1,1)                                                   1
(2,1) (2,2)                                           2
(3,1) (3,2) (3,3)                                  3
(4,1) (4,2) (4,3) (4,4)                          4
(5,1) (5,2) (5,3) (5,4) (5,5)                  5 
(6,1) (6,2) (6,3) (6,4) (6,5) (6,6)          6
(7,1) (7,2) (7,3) (7,4) (7,5) (7,6) (7,7) 7 
(8,1) (8,2) (8,3) (8,4) (8,5) 5
1+2+3+4+5+6+7+5=33
答案选B


发表于 2017-05-23 13:46:43 回复(10)
更多回答
对称矩阵的压缩矩阵表达式为:k=(i*(i-1)/2)+j。代入即可。
发表于 2018-07-12 17:52:19 回复(0)

对称矩阵按照行序压缩存储位置(i(i-1))/2+j

编辑于 2018-07-30 08:18:28 回复(0)
我用的上三角算的38 😂
发表于 2022-02-09 17:25:54 回复(1)

按行存储需要看从(0,0)开始还是(1,1)开始,从11开始就是上面的公式,从0开始就是 i j 自觉加一,并减首地址原来的1加首地址真正地址。

列存储就是另外一个公式。

发表于 2018-09-20 12:22:55 回复(0)
对称矩阵存下三角矩阵内容
发表于 2022-04-27 10:19:58 回复(0)
a11说明下标从1开始,则10阶的对称矩阵A,每行的元素个数为:
1个
2
3
4
5
6
7
.......
所以a85的位置为1+2+3+4+5+6+7  + 5 = 33
发表于 2022-03-30 18:16:42 回复(0)
8乘以7除以2 加5
发表于 2022-03-06 11:38:52 回复(0)
公式总是记不住啊,每次都要画个图来理解!
发表于 2020-05-01 09:38:05 回复(2)
我想知道你们在哪学的这些,我咋不知道是这样的
发表于 2022-11-21 12:17:55 回复(0)
a85说明是下三角存储,先存储前7行,1+2+……+7,然后再加5,采用等差数列求和公式(i*(i+1)/2)+j,注意这里的i代入7,j代入5。
发表于 2022-08-21 20:24:51 回复(0)
编辑于 2024-03-04 16:21:55 回复(0)

根据压缩存储方式,对称矩阵只需存储上三角部分(包括对角线)。对于一个 n 阶的对称矩阵,共有 (n*(n+1))/2 个元素需要存储。

由于采用行序为主存储,第 i 行的元素中,前 i-1 个元素是该行之前的所有行的上三角元素,第 i 个元素是该行之前的所有行的上三角元素和该行的对角线元素。

根据这个规律,我们可以计算出 a 行列所在的地址:

  • a11 是第一行的第一个元素,地址为 1。
  • a21 是第二行的第一个元素,地址为 2。
  • a22 是第二行的第二个元素,地址为 2 + 1 = 3。
  • a31 是第三行的第一个元素,地址为 3 + 2 = 5。
  • a32 是第三行的第二个元素,地址为 5 + 1 = 6。
  • a33 是第三行的第三个元素,地址为 6 + 1 = 7。

按照这种方式继续推算,可以得到下面的地址序列:

1, 2, 3, 5, 6, 7, 9, 10, 11, 12, ...

因此,a85 的地址为 85。

发表于 2023-08-15 02:41:15 回复(0)
对称矩阵,压缩存储,以行序为主存储,计算公式:一个自然数等差数列和+最后一行个数,挺容易记!
发表于 2023-01-30 14:09:35 回复(0)