【数组】已知二维数组A[0..7][0..9](行下标为0到7,列下标为0到9),数组的每个元素长度为3字节,数据元素A[0][0]的内存首地址为100,当采用列主序存放时,元素A[4][7]的存储首地址为( B )
A.241
B.280
C.322
D.325
按列主序,(7×8+4)×3+100=280 就是A[4][7]的存储首地址
按行主序,(4×10+7)×3+100=241 就是A[4][7]的存储首地址
【数组】已知二维数组A[0..4][0..5],则A按行优先存储时元素A[3][5]的地址与A按列优先存储时元素( B )的地址相同。
A.A[2][4]
B.A[3][4]
C.A[3][5]
D.A[4][3]
按行优先,A[3][5]的地址是3*6+5=23
按列优先,A[2][4]地址是4*5+2=22,A[3][5]地址是5*5+3=28,A[3][4]地址是4*5+3=23,A[4][3]地址是3*5+4=19
【矩阵】稀疏矩阵一般的压缩存储方式有两种,即(C)。
A.二维数组和三维数组
B.三元组和散列
C.三元组和十字链表
D.替换为错散列和十字链表误项
【数组】在一个二维数组A中,假设每个数组元素的长度为3个存储单元,行下标为0~8,列下标为0~9,从首地址SA开始连续存放。在这种情况下,元素A[8][5]的起始地址为(D)
A.SA+141
B.SA+144
C.SA+222
D.SA+255
(8*10+5)*3=255,SA+255,A[8][0]地址是8*10*3=244
【矩阵】有一个n×n的对称矩阵A,将其下三角部分按行存放在一维数组B中,而A[0][0]存放于B[0]中,则第i+1行的对角元素A[i][i]存放于B中(A)
A.(i+3)i/2
B.(i+1)i/2
C.(2n-i+1)i/2
D.(2n-i-1)i/2
画个图,标出下三角,代值检验
B[0] = A[0][0],i=0,在第0个位置,ABCD均符合
B[2] = A[1][1] ,i=1,在第2个位置,只有A符合
再试一下B[5] = A[2][2],i=2,在第5个位置,也只有A符合