问题详情

下三角矩阵A[0..8,0..8]如下图所示,若将其下三角元素(即行下标不小于列下标的所有元素)按列压缩存储在数组M[0..m]中,即A[0,0]存储在M[0]、A[1,0]存储在M[1]、A[2,0]存储在M[2],…,A[8,8]存储在M[44],则元素A[5,5]存储在__(1)__。若将其下三角元素按行压缩存储在数组M[0..m]中,即A[0,0]存储在M[0]、A[1,0]存储在M[1]、A[1,1]存储在M[2],…,A[8,8]存储在M[44],则元素A[5,5]存储在__(2)__。 空白(2)处应选择()


A、A.M[15]

B、M[20]

C、M[35]

D、M[39]

时间:2021-12-28 05:29 关键词: 数据结构与算法 初级程序员

答案解析

B
若按行压缩:上(下)三角矩阵是指矩阵的下(上)三角元素取值相同,设此取值为常数C(一般为0),则三角矩阵只需存储常数C和上(下)三角中的数据元素即可。故其压缩存储方式与对称矩阵相同,只不过多出一个常数的存储空间。对于任意给定一组下标(i,j),均可在sa中找到矩阵元a,反之,对所有的k=0,1,2,…,n(n+1)/2-1,都能确定sa[k]中的元在矩阵中的位置(i,j)。n阶对称矩阵A的压缩存储如下所示: