第四章 数组与广义表(作业)
一、判断题
1. 数组是同类型值的集合。
2. 数组是一组相继的内存单元。
3. 数组是一种复杂的数据结构,数组元素之间的关系,既不是线性的,也不是树型的。
4. 插入和删除操作是数据结构中最基本的两种操作,所以这两种操作在数组中也经常使用。
5. 数组的存储方式分为顺序和链式两种。
6. 使用三元组表表示稀疏矩阵的元素,有时并不能节省存储空间。
7. 广义表是由零或多个单元素或子表所组成的有序列,所以广义表可能为空表。
8. 线性表可以看成是广义表的特例,如果广义表中的每个元素都是单元素,则广义表便成为线性表。
二、选择题
1. 一个n*n的对称矩阵,如果以行或列为主序存入内存,则其容量为( )。
A.n*n B.n*n/2 C.n(n+1)/2
D.(n+1)*(n+1)/2 E.(n-1)*n/2 F.n(n-1)
2. 在二维数组A[7][9]中,假定每个数据元素占4个存储单元, A00的存储位置(基地址)为100,则A56的存储位置为( )。
A.232 B.151 C.204 D.304
3. 设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个元素,其存储地址为1,每个元素占1个地址空间,则a85的地址为( )。
A.13 B.33 C.18 D.40
4. 二维数组a的每个元素是由6个字符组成的串,行下标i的范围从0-8,列下标j的范围是从1-10。
(1)存放a至少需要( )个字节。
A.90 B.180 C.240 D.270 E.540
(2) A的第8列和第5行共占( )字节。
A.108 B.114 C.54 D.60 E.150
(3) 若a按行存放,元素a[8,5]的起始地址与当a按列存放的元素( )的起始地
址一致。
A.a[8,5] B. a[3,10] C.a[5,8] D. a[0,9]
5. 已知广义表LS=(a,(b,c,c),e),运用HEAD和TAIL函数取出LS中的单元素b的运算是( )。
A.HEAD(HEAD(LS)) B.TAIL(HEAD(LS))
C.HEAD(HEAD(TAIL(LS))) D.HEAD(TAIL(LS))
6. 已知广义表A=((a,b,c),(d,e,f)),从A中取出单元素e的运算是( A.TAIL(HEAD(A)) B.HEAD(TAIL(A))
C.HEAD(TAIL(TAIL(HEAD(A)))) D.HEAD(TAIL(HEAD(TAIL(A)))) E.HEAD(TAIL(TAIL(A)))
7. 设广义表LS=(a,b,LS), 其长度是( ),其深度为( )。
A.∞ B.3 C.2 D.5
8. 下列广义表为线性表的是( )。
A.E(a,(b,c)) B.E(a,E) C.E(a,b) D.E(a,L())
。
)
三、填空题
1. 求出下列广义表操作的结果:
HEAD(((p,h,w)))=( ),
TAIL(((b,k,p,h)))=( ),
HEAD(((a,b),(c,d)))= ( ),
TAIL(((a,b),(c,d)))= ( ), HEAD(TAIL(((a,b),(c,d))))= (
),
)
TAIL(HEAD(((a,b),(c,d))))= (
HEAD(TAIL(HEAD(((a,b),(c,d)))))= ( ),
TAIL(HEAD(TAIL(((a,b),(c,d)))))=( )
2. 利用广义表的HEAD和TAIL函数将原子banana分别从下列广义表中分离出来:
1) L1=(apple,pear,banana,orange),则分离式=( )
2) L2=((apple,pear),(banana,orange)),则分离式=( )
3) L3=(((apple),(pear),(banana),(orange))),则分离式=( )
4) L4= (apple,(pear),((banana)),(((orange)))),则分离式=( )
5) L5=((((apple))),((pear)),(banana),orange),则分离式=( )
6) L6=((((apple),pear),banana),orange),则分离式=( )
7) L7=(apple,(pear,(banana),orange)),则分离式=( )
四、画出下列广义表的图形表示。
1. D(A(c),B(e),C(a,L(b,c,d)))
2. J1(J2(J1,a,J3(J1)),J3(J1))
五、已知以下各图为广义表的存储结构图,写出各图表示的广义表。
1.
2.
六、画出下列广义表的存储结构图,并求它的长度和深度。
1. ((()),a,((b,c),(),d),(((e))))
2. ((((a),b)),(((),d),(e,f)))
七、给定矩阵A如下,写出它的三元组表、带行指针的链表及它的转置矩阵。
因篇幅问题不能全部显示,请点此查看更多更全内容