习题?/p>
数组和广义表
一、单项选择?/p>
1
.常对数组进行的两种基本操作是(
?/p>
A.
建立与删?/p>
B.
索引与修?/p>
C.
查找与修?/p>
D.
查找与索?/p>
2
.对?/p>
C
语言的二维数?/p>
DataType A[m][n],
每个数据元素?/p>
K
个存储单元,二维数组?/p>
任意元素
a[i,j]
的存储位置可?/p>
( )
式确?/p>
.
A.Loc[i,j]=A[m,n]+[(n+1)*i+j]*k
B.Loc[i,j]=loc[0,0]+[(m+n)*i+j]*k
C.Loc[i,j]=loc[0,0]+[(n+1)*i+j]*k
D.Loc[i,j]=[(n+1)*i+j]*k
3
.稀疏矩阵的压缩存储方法是只存储
( )
A.
非零元素
B.
三元祖(
i,j, aij
?/p>
C. aij D. i,j
4.
数组
A[0..5,0..6]
的每个元素占五个字节,将其按列优先次序存储在起始地址?/p>
1000
的内存单元中,则元素
A[5
?/p>
5]
的地址?/p>
( )
?/p>
A. 1175 B. 1180 C. 1205 D. 1210
5.
A[N
?/p>
N]
是对称矩阵,将下面三角(包括对角线)以行序存储到一维数?/p>
T[N
?/p>
N+1
?/p>
/2]
中,则对任一上三角元?/p>
a[i][j]
对应
T[k]
的下?/p>
k
是(
?/p>
?/p>
A. i
?/p>
i-1
?/p>
/2+j B. j
?/p>
j-1
?/p>
/2+i C. i
?/p>
j-i
?/p>
/2+1 D. j
?/p>
i-1
?/p>
/2+1
6.
用数?/p>
r
存储静态链表,结点?/p>
next
域指向后继,工作指针
j
指向链中结点,使
j
?/p>
链移动的操作?/p>
( )
?/p>
A. j=r[j].next B. j=j+1 C. j=j->next D. j=r[j]-> next
7.
对稀疏矩阵进行压缩存储目的是?/p>
?/p>
?/p>
A
.便于进行矩阵运?/p>
B
.便于输入和输出
C
.节省存储空?/p>
D
.降低运算的时间复杂?/p>
8.
已知广义?/p>
LS
?/p>
((a,b,c),(d,e,f)),
运用
head
?/p>
tail
函数取出
LS
中原?/p>
e
的运算是
( )
?/p>
A. head(tail(LS)) B. tail(head(LS))
C. head(tail(head(tail(LS))) D. head(tail(tail(head(LS))))
9.
广义表(
?/p>
a,b,c,d
?/p>
)的表头是(
?/p>
,表尾是?/p>
?/p>
?/p>
A. a B.
()
C.
?/p>
a,b,c,d
?/p>
D.
?/p>
b,c,d
?/p>
10.
设广义表
L=
?/p>
?/p>
a,b,c
?/p>
?/p>
,则
L
的长度和深度分别为(
?/p>
?/p>
A. 1
?/p>
1 B. 1
?/p>
3 C. 1
?/p>
2 D. 2
?/p>
3
11.
下面说法不正确的?/p>
( )
?/p>
A.
广义表的表头总是一个广义表
B.
广义表的表尾总是一个广义表
C.
广义表难以用顺序存储结构
D.
广义表可以是一个多层次的结?/p>
二、填空题
1
.通常采用
___________
存储结构来存放数?/p>
。对二维数组可有两种存储方法:一种是?/p>
___________
为主序的存储方式,另一种是?/p>
___________
为主序的存储方式?/p>
2.
用一维数?/p>
B
与列优先存放带状矩阵
A
中的非零元素
A[i,j]
(1
?/p>
i
?/p>
n,i-2
?/p>
j
?/p>
i+2),B
中的?/p>
8
个元素是
A
中的?/p>
_ _
行,?/p>
_ _
列的元素?/p>