《数据结构-第5章--数组和广义表-练习题.docx》由会员分享,可在线阅读,更多相关《数据结构-第5章--数组和广义表-练习题.docx(16页珍藏版)》请在第壹文秘上搜索。
1、第5章数组和广义表一、选择题1.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,却为第一元素,其存储地址为1,每个元素占一个地址空间,那么硼的地址为()。A. 13B. 33C. 18D. 402 .有一个二维数组Al:6,0:7每个数组元素用相邻的6个字节存储,存储器按字节编址,那么这个数组的体积是()个字节。假设存储数组元素Al,0的第一个字节的地址是0,那么存储数组A的最后一个元素的第一个字节的地址是(假设按行存储,那么A2,4的第一个字节的地址是(假设按列存储,那么A5,7的第一个字节的地址是()。就般情况而言,当()时,按行存储的AI,J地址与按列存储的AJ,I地址相等
2、。供选择的答案:-:A. 12B. 66C. 72G. 156H. 234I. 276:A.行与列的上界相同C.行与列的上、下界都相同D.96E.114F.120J.282K.283L.288B.行与列的下界相同D.行的元素个数与列的元素个数相同3 .设有数组Ai,j,数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A5,8的存储首地址为()。A.BA+141B.BA+180C.BA+222D.BA+2254 .假设以行序为主序存储二维数组A=arrayL100,1.100,设每个数据元素占2个存储单元,基地址为10,那么
3、LOe5,5=()oA.808B.818C.1010D.10205 .数组A0.5,0.6的每个元素占五个字节,将其按列优先次序存储在起始地址为100O的内存单元中,那么元素A5,5的地址是()oA. 1175B. 1180C. 1205D. 12106 .有一个二维数组A0:8,1:5,每个数组元素用相邻的4个字节存储,存储器按字节编址,假设存储数组元素A0,l的第一个字节的地址是0,存储数组A的最后一个元素的第一个字节的地址是1)。假设按行存储,那么A3,5和A5,3的第一个字节的地址是()和()。假设按列存储,那么A7,1和A2,4的第一个字节的地址是()和()。-:A.28B.44C.
4、76D.92E.108F.116G.132H.176I.184J.1887 .将一个AL.100,L.100的三对角矩阵,按行优先存入一维数组Bl298中,A中元素A6诚(即该元素下标i=66,j=65),在B数组中的位置K为()。供选择的答案:A.198B.195C.1978 .二维数组A的元素都是6个字符组成的串,行下标i的范围从。到8,列下标j的范圈从1到10。从供选择的答案中选出应填入以下关于数组存储表达中()内的正确答案。(1)存放A至少需要()个字节;(2)A的第8列和第5行共占()个字节;(3)假设A按行存放,元素A8,5的起始地址与A按列存放时的元素()的起始地址致。供选择的答
5、案:(1) A. 90(2) A. 108(3) A. A8, 5B. 180B. 114B. A3, 10C. 240C. 54C. A5, 89.二维数组A的每个元素是由6个字符组成的串,D. 270E. 540D. 60E. 150D. A0, 9其行下标i=0,1,8,列下标j=l, 2, -,IOo假设A按行先存储,元素A8,5的起始地址与当A按列先存储时的元素()的起始地址相同。设每个字符占一个字节。A. A8, 5B. A3,10C. A5, 8D. A0, 910 .假设对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B1.(n(n
6、+l)2中,那么在B中确定aki(inextD.j=rj-next17 .对稀疏矩阵进行压缩存储目的是()。A.便于进行矩阵运算B.便于输入和输出C.节省存储空间D.降低运算的时间复杂度18 .广义表L=(x,y,z),a,(u,t,w),从L表中取出原子项t的运算是()。A.head(tail(tail(L)B.tail(head(head(tail(L)C. head (tail (head (tail (L)D.head(tail(head(tail(tail(L)19 .广义表LS=(a,b,c),(d,e,f),运用head和tail函数取出LS中原子e的运算是()。A.head(t
7、ail(LS)B.tail(head(LS)C. head(tai 1(head(tai 1(LS)D. head(tai 1(tai 1(head (LS)20 .广义表A=(a,b,(c,d),(e,(f,g),那么下面式子的值为()Head(Tai1(Head(TaiKTail(八))A.(g)B.(d)C.cD.d21 .广义表:A=(a,b),B=(A,A),C=(a,(b,A),B),求以下运算的结果:tai1(head(tai1(C)=()A. (a)B. AC. aD. (b)E.F. (A)A.cB.b,cC.(b,c)D.(b,c)24.广义表(a,b,c,d)的表头是()
8、,表尾是()。A.aB.()C.(a,b,c,d)D.(b,c,d)25.广义表(a,(b,c),d,e)的表头为()oA.aB.a,(b,c)C.(a,(b,c)D.(a)26.设广义表L=(a,b,c),那么L的长度和深度分别为()oA.1和1B.1和3C.1和2D.2和322.广义表运算式Tail(a,b),(c,d)的操作结果是()。A.(c,d)B.c,dC.(c,d)23.广义表L=(a,(b,c),进行Tail(L)操作后的结果为(27.下面说法不正确的选项是()。A.广义表的表头总是一个广义表B.广义表的表尾总是一个广义表D. d)。【中山大学1999 一、10C.广义表难以用
9、顺序存储结构D.广义表可以是一个多层次的结构二、判断题1 .数组不适合作为任何二叉树的存储结构。()2 .从逻辑结构上看,n维数组的每个元素均属于n个向量。()3 .稀疏矩阵压缩存储后,必会失去随机存取功能。()4 .数组是同类型值的集合。()5 .数组可看成线性结构的一种推广,因此与线性表一样,可以对它进行插入,删除等操作。()6 .一个稀疏矩阵采用三元组形式表示,假设把三元组中有关行下标与列下标的值互换,并把m和n的值互换,那么就完成了的转置运算。()7 .二维以上的数组其实是一种特殊的广义表。()8 .广义表的取表尾运算,其结果通常是个表,但有时也可是个单元素值。()9 .假设一个广义表
10、的表头为空表,那么此广义表亦为空表。()10 .广义表中的元素或者是一个不可分割的原子,或者是一个非空的广义表。(11 .所谓取广义表的表尾就是返回广义表中最后一个元素。()12 .广义表的同级元素(直属于同一个表中的各元素)具有线性关系。()13 .对长度为无穷大的广义表,由于存储空间的限制,不能在计算机中实现。()14 .一个广义表可以为其它广义表所共享。()三、填空题1 .数组的存储结构采用存储方式。2 .设二维数组A-20.30,-30.20,每个元素占有4个存储单元,存储起始地址为200.如按行优先顺序存储,那么元素A25,18的存储地址为11);如按列优先顺序存储,那么元素AT8,
11、-25的存储地址为(2)。3 .设数组a1.50,L.80的基地址为2000,每个元素占2个存储单元,假设以行序为主序顺序存储,那么元素a4568的存储地址为(1);假设以列序为主序顺序存储,那么元素a45,68的存储地址为4 .将整型数组Al.8,1.8按行优先次序存储在起始地址为IoOO的连续的内存单元中,那么元素A7,3的地址是:o5 .二维数组a456(下标从0开始计,a有4*5*6个元素),每个元素的长度是2,那么a234的地址是o(设a000的地址是IoOO,数据以行为主方式存储)6 .设有二维数组A0.9,0.19,其每个元素占两个字节,第一个元素的存储地址为100,假设按列优先
12、顺序存储,那么元素A6,6存储地址为o7 .数组A0.9,0.9的每个元素占5个存储单元,将其按行优先次序存储在起始地址为1000的连续的内存单元中,那么元素A6,8的地址为o8 .二维数组AL.10,0.9中每个元素占4个单元,在按行优先方式将其存储到起始地址为IoOO的连续存储区域时,A5,9的地址是:o9 .用一维数组B与列优先存放带状矩阵A中的非零元素Ai,j(lW!Wh,i-2WjWi+2),B中的第8个元素是A中的第(中行,第(2)列的元素。10 .设数组A0.8,数组中任一元素Ai,j均占内存48个二进制位,从首地址2000开始连续存放在主内存里,主内存字长为16位,那么(1)存放该数组至少需要的单元数是;(2)存放数组的第8列的所有元素至少需要的单元数是;(3)数组按列存储时,元素A5,8的起始地址是o11 .设n行n列的下三角矩阵A已压缩到一维数组Bl.n*(n+l)/2中,假设按行为主序存储,那么Ai,j对应的B中存储位置为o12