1.单选(2分)
稀疏矩阵的常见压缩存储方法有( )两种。
A.三元组顺序表和散列表
B.三元组顺序表和十字链表
C.散列表和十字链表
D.二维数组和三维数组
2.单选(2分)
一个非空广义表的表尾
A.不能是子表
B.只能是子表
C.是原子或子表
D.只能是原子
3.单选(2分)
广义表(((a)),((b,(c),(e(e,f))),o)的深度是( )
A.4
B.3
C.2
D.5
4.单选(2分)
广义表A=(a,b,(c,d,(e,(f,g)),则下面式子Head(Tail(Head(Tail(Tail(A)))))的值为( )
A.(g)
B.(d)
C.c
D.d
5.单选(2分)
设广义表L=(a,b,0),则GetTail(GetTail(L))的结果是( )。
A.都不是
B.(0)
C.0
D.(b,0)
6.单选(2分)
数组A[0..5,0..6]的每个元素占5个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是( )
A.1180
B.1175
C.1205
D.1210
7.单选(2分)
稀疏矩阵的三元组存储方法中,下列说法正确的是( )。
A.是一种链式存储方法
B.实现转置运算很简单,只需将每个三元组的行标和列标交换
C.矩阵的非零元个数和位置在操作过程中变化不大时较有效
D.比十字链表法更高效
8.单选(2分)
在稀疏矩阵的快速转置算法中,num[col]表示源矩阵M中( )。
A.第col行中非零元的个数
B.第col列中零元的个数
C.第col列中非零元的个数
D.第col行中零元的个数
9.判断(2分)
广义表的长度是指广义表中的原子个数。
A.√
B.×
10.判断(2分)
任何一个非空广义表,其表头可能是单元素或广义表,其表尾必定是广义表。
A.√
B.×
11.单选(2分)
设广义表L=((a,b,c)),则L的长度和深度分别为( )。
A.1和2
B.2和3
C.1和3
D.1和1
12.单选(2分)
设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素ai,j(i>=j),在一维数组B的下标位置k的值是( )。
A.i(i-1)/2+j
B.i(i+1)/2+j
C.i(i-1)/2+j-1
D.i(i+1)/2+j-1
13.单选(2分)
已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是( )。
A.tail(head(LS)
B.head(tail(tail(head(LS))))
C.head(tail(head(tail(LS)))
D.head(tail(LS))
14.单选(2分)
关于广义表,下面说法不正确的是( )。
A.广义表的表尾总是一个广义表
B.广义表难以用顺序存储结构
C.广义表可以是一个多层次的结构
D.广义表的表头总是一个广义表
15.单选(2分)
设有一个n行n列的对称矩阵A,将其下三角部分按行存放在一个一维数组B中,A[0][0]存放于B[0]中,那第i行的对角元素A[i][j]存放于B中( )处。
A.(2n一i-1)*i/2
B.(i+1)*/2
C.(2n-i+1)*i/2
D.(i+3)*i/2
10.判断(2分)
所谓取广义表的表尾就是返回广义表中最后一个元素。
A.√
B.×