1一、单项选择题1.二维数组M的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则存放M至少需要(1)个字节;M的第8列和第5行共占(2)个字节;若M按行优先方式存储,元素M[8][5]的起始地址与当M按列优先方式存储时的(3)元素的起始地址一致。(1)A.90B.180C.240D.540(2)A.108B.114C.54D.60(3)A.M[8][5]B.M[3][10]C.M[5][8]D.M[0][9]2.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时元素(1)的起始地址相同。()A.m[2][4]B.M[3][4]C.M[3][5]D.M[4][4]3.数组A中,每个元素A的存储占3个单元,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元个数是(1),若该数组按行存放时,元素A[8][5]的起始地址是(2),若该数组按列存放时,元素A[8][5]的起始地址是(3)。(1)A.80B.100C.240D.270(2)A.SA+141B.SA+144C.SA+222D.SA+225(3)A.SA+141B.SA+180C.SA+222D.SA+2254.稀疏矩阵一般的压缩存储方法有两种,即()A.二维数组和三维数组B.三元组和散列C.三元组和十字链表D.散列和十字链表5.假设按行优先存储整数数组A[9][3][5][8]时,第一个元素的字节地址时100,每个整数占4个字节。问下列元素的存储地址是什么。(1)a0000(2)a1111(3)a3125(4)a8247二、判断题1.数组不适合作为任何二叉树的存储结构。2.数组可看成线性结构的一种推广,因此与线性表一样,可以对它进行插入,删除等操作。23.一个稀疏矩阵Am*n采用三元组形式表示,若把三元组中有关行下标与列下标的值互换,并把m和n的值互换,则就完成了Am*n的转置运算。4.广义表的取表尾运算,其结果通常是个表,但有时也可是个单元素值。5.若一个广义表的表头为空表,则此广义表亦为空表。三、填空题1.设二维数组A[-20..30,-30..20],每个元素占有4个存储单元,存储起始地址为200.如按行优先顺序存储,则元素A[25,18]的存储地址为___;如按列优先顺序存储,则元素A[-18,-25]的存储地址为___。2.将整型数组A[1..8,1..8]按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[7,3]的地址是:_______。3.二维数组a[4][5][6](下标从0开始计,a有4*5*6个元素),每个元素的长度是2,则a[2][3][4]的地址是____。(设a[0][0][0]的地址是1000,数据以行为主方式存储)4.己知三对角矩阵A【1..9,1..9】的每个元素占2个单元,现将其三条对角线上的元素逐行存储在起始地址为1000的连续的内存单元中,则元素A[7,8]的地址为______。5.广义表A(((),(a,(b),c))),head(tail(head(tail(head(A))))等于。四、应用题1.设有三对角矩阵An×n,将其三条对角线上的元素存于数组B[3][n]中,使得元素B[u][v]=aij,试推倒出从(i,j)到(u,v)的下标变换公式。2.画出下列广义表的存储结构式意图。(1)A=((a,b,c),d,(a,b,c))(2)B=(a,(b,(c,d),e),f)