一 选择题
1.假设有60行70列的二维数组a[1…60, 1…70]以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为( )。(无第0行第0列元素)
A、16902 B、16904 C、144 D、答案A, B, C均不对
2.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[0][5]的起始地址与M按列存储时元素( ) 的起始地址相同。
A. M[2][4] B. M[3][4] C. M[4][5] D. M[4][0] 3. 稀疏矩阵一般的压缩存储方法有两种,即()。
A 二维数组和三维数组 B.三元组和散列 C.三元组和十字链表 D.散列和十字链表 4. 一个n阶对称矩阵,如果以行或列为主序放入内存,则容量为_______ A. n*n B. n**/2 C. (n+1)*(n+1)/2 D. n*(n+1)/2 5、广义表((a),(a))的表头是______,表尾是______ A. a B. (a) C. ((a)) D. ()
6. 设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素ai,j(i<=j),在一组数组B的下标位置k的值是()。 A. i(i-1)/2+j-1 B. i(i-1)/2+j C. i(i+1)/2+j-1 D. i(i+1)/2+j
答案(隐藏中)
A 【按列优先顺序存储的二维数组Amn地址计算公式 LOC(aij)=LOC(a11)+[(j-1)×m+i-1]×d D C D CB D
二 填空题
1、设有二维数组A(m*n),其中每个元素占w个存储单元,第一个元素a[1][1]的起始地址为L,则以列主序方式存储a[i][j]的存储单元地址是__________.
2、在C语言中有定义,float b[5][7];设其首地址是1900,则元素 b[3][5]•的存储地址是________.
3、假设一个10阶的下三角矩阵A按列优顺序压缩存储在一维数组C中,则C数组的大小应为________。
4.设n行n列的下三角矩阵A已压缩到一维数组S[1..n*(n+1)/2]中,若按行序为主存储,则A[i][j]对应的S中的存储位置是 。
5.广义表(a,(a,b),d,e,((i),j))的表头是_______,表尾是______,长度是________,深度是_________。
6、求下列广义表操作的结果:
GetHead【GetTail【GetHead【((a,b),(c,d))】】】=== ; GetTail【GetHead【GetTail【((a,b),(c,d))】】】=== ;
答案(隐藏中)
1、L+[(j-1)*m+(i-1)]*w 2、2004 3、(1+2+……10)/2=55 4、(1+2+……i-1)+j-1
5、a,( (a,b),d,e,((i),j)) 5 4 6、b (d)
0012900003000M002400180015007col
1
2 2 3
Num[col] 2 Cpot[col] 1
0000000140计算
000000000673 2 5
4 1 7
5 0 8
6 1 8
7 0 9
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务