第5章 数组与广义表
一、选择题(每小题1分,共10分)
1.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(  A  )。
A。110    B。108    C.100    D.120
2。在数组A中,每一个数组元素A[i][j]占用3个存储字节,行下标i从1到8,列下标j从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字节数是(  C  )。
A。80        B。100      C。240      D。270
3。假设有60行70列的二维数组a[1…60, 1…70]以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为(  C  )。(无第0行第0列元素)
A.16902    B.16904      C。14454      D.答案A, B, C均不对
4。将一个A[1。。100,1..100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A中元素A6665(即该元素下标i=66,j=65),在B数组中的位置K为(  A  )。
A 198      B数组和链表 195      C 197      D.196
5.数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是(  A  ).
A  1175      B. 1180      C. 1205      D. 1210
6。假设以行序为主序存储二维数组A=array[1.。100,1.。100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]= (  B  ).
A 808      B. 818      C. 1010      D 1020
7. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为(  B  ).
A. BA+141      B BA+180      C BA+222      D BA+225
8。设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为(  B  )。
A、 13      B、 33      C、 18      D、 40
9. 二维数组A的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标j=1,2,…,10。若A按行先存储,元素A[8,5]的起始地址与当A按列先存储时的元素(  B  )的起始地址相同.设每个字符占一个字节.
A、 A[8,5]      B、 A[3,10]      C、 A[5,8]      D、 A[0,9]
10.若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定aij(i〈j)的位置k的关系为(  B  )。
A、 i*(i-1)/2+j    B、 j*(j—1)/2+I    C、 i*(i+1)/2+j    D、 j*(j+1)/2+i
11.对稀疏矩阵进行压缩存储目的是(  C  )。
A、便于进行矩阵运算      B、便于输入和输出
C、节省存储空间          D、降低运算的时间复杂度
12.数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为(  A  )。
A、 j=r[j].next    B、 j=j+1      C、 j=j->next      D、 j=r[j]-> next
13. 数组A[0。.4,—3。.-1,5..7]中含有元素的个数为(  B  )。
A、 55      B、 45      C、 36      D、 16
14。有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是(  B  )。
A、 60      B、 66      C、 18000      D、 33
15.设二维数组A[1。. m,1。. n](即m行n列)按行存储在数组B[1..m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为(  A  )。
A、(i—1)*n+j      B、(i-1)*n+j—1      C、 i*(j—1)      D、 j*m+i-1
16。A[N,N]是对称矩阵,将下面三角(包括对角线)以行序存储到一维数组T[N(N+1)/2]中,则对任一上三角元素a[i][j]对应T[k]的下标k是(  B  )。
A。i(i-1)/2+j    B. j(j—1)/2+I    C. i(j-i)/2+1    D.j(i—1)/2+1
17.设A是n*n的对称矩阵,将A的对角线及对角线上方的元素以列为主的次序存放在一维数组B[1.。n(n+1)/2]中,对上述任一元素aij(1≤i,j≤n,且i≤j)在B中的位置为(  B  ).
A、i(i—l)/2+j      B、j(j—l)/2+I      C、 j(j-l)/2+i—1      D、i(i-l)/2+j-1
18.对于以行为主序的存储结构来说.在数组A[c1。.d1,c2..d2]中,c1和d1分别为数组A的第一维下标的下、上界,c2和d2分别为第二维下标的下、上界.每个数据元素占k个存储单元,二维数组中任一元素a[i,j]的存储位置可由(  B  )确定。
  A、 Loc[i,j]=[(d2—c2+1)(i-c1)+(j-c2)]×k
  B、 Loc[i,j]=[Loc[c1,c2]+[(d2—c2+1)(i-c1)+(j—c2)]×k
  C、 Loc[i,j]=A[c1,c2]+[(d2—c2+1)(i-c1)+(j—c2)]×k
  D、 Loc[i,j]=Loc[0,0]+[(d2—c2+1)(i—c1)+(j—c2)]×k
19。 设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分(如下图所示)按行序存放在一维数组B[1.。n(n-1)/2]|中,对下三角部分中任一元素(i〉=j)在一维数组B的下标位置k值是(  B  ).
A、 i(i-1)/2+j-l    B、 i(i-1)/2+j    C、 i(i+1)/2+j—1    D、 i(i+1)/2+j
20.稀疏矩阵一般的压缩存储方法有(  C  )两种.
A、二维数组和三维数组      B、三元组和散列表
C、三元组和十字链表        D、散列表和十字链表
参考题:
21。数组SZ[—3…5,O… 10]含有元素数目为(  B  )。
A、88      B、 99      C、 80      D、 90
22.二维数组A的每个元素是由6个字符组成的串,其行下标i=0、1、…、8.列下标i=1、2、…  、10。若A按行先存储,元素A[8,5]的起始地址与当A按列先存储时的元素(  B  )的起始地址相同。设每个字符占一个字节。
A、 A[8,5]      B、 A[3,10]      C、 A[5,8]      D、 A[0,9]
23。设有一个10阶的对称矩阵A,采用压缩破除计方式,以行序为主存储,a1,1为第一个元素,其存储地址为1,每个元素占1个地址空间,则a8,5的地址为(  B  ).
A、13      B、33      C、18      D、40
24。 稀疏矩阵进行压缩存储目的是(  C  )。
A、便于进行矩阵运算            B、便于输入和输出
C、节省存储空间                D、降低运算的时间复杂度
25。用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使 沿链移动的操作为(  A  ).
A、j=r[j]。next          B、 j=j+1      C、 j=j-〉next        D、 j=r[j]—> next
26.数组的基本操作主要包括(  C  )
A、 建立与删除      B、 索引与修改      C、 访问与修改      D、 访问与索引
27。设矩阵A是一个对称矩阵,为了节省空间,将其下三角矩阵按行序存放在一维数组B[1,n(n+1)/2]中,对下三角部分中任一元素aij(i≥j),在一维数B中下标k的值是(  B  )。
A、 i(i—1)/2+j—1          B、 i(i-1)/2+j
C、 i(i+1)/2+j-1          D、 i(i+1)/2+j
8.设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[8,5]的存储首地址为(  B  )。
A、 BA+141      B、 BA+180      C、 BA+222      D、 BA+225
数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放的存储器内,该数组按行存放,元素A[8][5]的起始地址为  C    。
A .SA+141    B. SA+144      C.SA+222      D .SA+225
二、判断题(每小题1分,共10分)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。