数组和广义表习题

设有数组 A[i,j],数组的每个元素长度为 3 字节,i 的值为 1 到 8 ,j 的值为 1 到 10,数组从内存首地址 BA 开始顺序存放,当用以列为主存放时,元素 A[5,8] 的存储首地址为?

答案: BA + 180。画出矩阵图,先算整列8×7,再算剩余的5个。BA+(8×7+5-1)×3=BA+180。

 

设有一个 10 阶的对称矩阵 A,采用压缩存储方式,以行序为主存储,a[1][1] 为第一元素,其存储地址为 1,每个元素占一个地址空间,则 a[8][5]的地址为?

答案:33。对称矩阵的压缩存储,意思就是只存半个矩阵。因为矩阵对称性,存半个矩阵就可以达到存整个矩阵的效果。题目等效为存储10阶的下三角矩阵。1+(1+7)×7/2+5-1=33。

 

将一个 A[1..100,1..100] 的三对角矩阵,按行优先存入一维数组B[1‥298] 中,A 中元素 A6665(即该元素下标 i = 66,j = 65),在 B 数组中的位置 K 为?

答案:195。三对角矩阵时有三条对角线的矩阵,这三条对角线也是对称的。对角线呈 “ \ ” 状。第一行和最后一行有两个元素,其余行都是三个元素。1×2+(66-2)×3+1=195。

 

有一个 100*90 的稀疏矩阵,非 0 元素有 10 个,设每个整型数占 2 字节,则用三元组表示该矩阵时,所需的字节数是?

答案:66。非零元有10个,表示三元组有11行,每行三个int型数字。11×3×2=66。

 

三维数组 a[4][5][6](下标从 0 开始计,a 有 4*5*6 个元素),每个元素的长度是 2,则 a[2][3][4] 的地址是 。(设a[0][0][0] 的地址是 1000, 数据以行为主方式存储)。

答案:1164。看清下标从0开始。看清下标从0开始。看清下标从0开始。三维数组a[4][5][6]对应三维坐标系中x轴0-5,y轴0-4,z轴0-3。数据一行一行存储,一层满了再存下一层,形成立体结构。(5×6×2+3×6+5-1)×2+1000=1164。

 

设广义表 L = ((), ()), 则:head(L)是 ______ ;tail(L)是_______; L 的长度是 ______ ;深度是 _____ 。

答案:()   (())   2   2。小技巧:L从右往左数,遇到(之前,)数量就是深度。

 

下面说法正确的有( )。
A. 广义表的表尾总是一个广义表
B. 广义表的表头总是一个广义表
C. 广义表可以是一个多层次的结构
D. 广义表难以用顺序存储结构

答案:ACD。广义表一般用链式存储,顺序存储不利于插入删除数据,并且对存储单元限制较多。

 

当广义表中的每个元素都是原子时,广义表便成了____?

答案:线性表。

 

已知广义表 L = ((x,y,z),a,(u,t,w)),从 L 表中取出原子项 t 的运算是?

答案:tail(L)、tail(L)、head(L)、tail(L)、head(L)。

 

广义表 A = (a,b,(c,d),(e,(f,g))),则Head(Tail(Head(Tail(Tail(A)))))的值为?

答案:d。按步骤:A=(b,(c,d),(e,(f,g)))   A=((c,d),(e,(f,g)))   A=(c,d)   A=(d)   A=d。

  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值