下三角矩阵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],则元素

admin2019-05-11  35

问题 下三角矩阵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.M[15]
B.M[20]
C.M[35]
D.M[39]

选项 A、 
B、 
C、 
D、 

答案B

解析 本题考查数据结构中数组元素存储布局的基本概念。
   二维数组元素按列存储时,排在A[5,5]之前的元素共5列,第0列为A[0,0]、A[1,0]、A[2,0]、…、A[8,0],第1列为A[1,1]、A[2,1]、…、A[8,1],第2列为A[2,2]、A[3,2]、…、A[8,2],第3列为A[3,3]、A[4,3]、…、A[8,3],第4列为A[4,4]、A[5,4]、…、A[8,4],元素个数为9+8+7+6+5=35,因此A[5,5]存储在M[35]。
   按行存储时,排在A[5,5]之前的元素共5行,第0行为A[0,0],第1行为A[1,0]、A[1,1],第2行为A[2,0]、A[2,1]、A[2,2],第3行为A[3,0]、A[3,1]、A[3,2]、A[3,3],第4行为A[4,0]、A[4,1]、A[4,2]、A[4,3]、A[4,4],元素个数为1+2+3+4+5=15,在第5行,存储在A[5,5]之前的元素有A[5,0]、A[5,1]、A[5,2]、A[5,3]、A[5,4],因此A[5,5]之前共有1+2+3+4+5+5=20个元素,所以按行方式下,A[5,5]存储在M[20]中。
转载请注明原文地址:https://jikaoti.com/ti/ShL7FFFM
0

最新回复(0)