1
算法与数据结构  C语言版
1.7.4 练习题
练习题

一、选择题

1.已知二维数组A[5][3],其每个元素占2个存储单元,并且A[0][0]的存储地址为1000,则元素A[3][2]的存储地址为( )。

A.1010 B.1020 C.1022 D.1028

2.设有一个8阶的对称矩阵A,采用压缩存储方式,以行序为主序存储,每个元素占用一个存储单元,基址为100,则a63的地址为( )。

A.118 B.124 C.151 D.160

3.已知数组A[1..6,2..8]在内存中以行序为主序存放,且每个元素占两个存储单元,则计算元素A[i,j]地址的公式为( )。

A.LOC(A[i,j])=LOC(A[1,2])+[(i-1)×7+(j-2)]×2

B.LOC(A[i,j])=LOC(A[1,2])+[(j-2)×6+(i-1)]×2

C.LOC(A[i,j])=LOC(A[1,2])+(i×8+j)×2

D.LOC(A[i,j])=LOC(A[1,2])+(j×6+i)×2

4.二维数组A的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标j=1,2,…,10,且每个字符占一个字节。若A以行序为主序存放,元素A[8,5]的起始地址与当A以列序为主序存放时的元素( )的起始地址相同。

A.A[7,8] B.A[6,5] C.A[0,7] D.A[3,10]

5.对稀疏矩阵进行压缩存储的目的是( )。

A.降低运算的时间复杂度 B.节省存储空间

C.便于存储 D.便于进行矩阵运算

二、填空题

1.下三角矩阵压缩存储的下标对应关系为____________。

2.已知数组A[3..8,2..6]以列序为主序顺序存储,且每个元素占两个存储单元,则计算元素A[i,j]地址的公式为____________。

3.所谓的稀疏矩阵指的是____________。

4.一个5×4矩阵可以看成是长度为5的线性表,表中每个元素是长度为__________的线性表。

5.稀疏矩阵的三元组表示为____________。

三、问答题

1.已知5×6数组A的每个元素占2个字节,数组的基址为1000,求:

(1)A所占的字节数;

(2)元素a25的地址;

(3)按行和按列优先存储的a34地址。

2.设数组a[1..50,1..80]的基地址为2000,每个元素占2个存储单元,求:

(1)若以行序为主序顺序存储,则元素a[45,68]的存储地址;

(2)若以列序为主序顺序存储,则元素a[45,68]的存储地址。