选择题
设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为
- A. 13
- B. 33
- C. 18
- D. 40
只存储其下三角元素
行优先:放完第一行再放第二行
a11
a21 a22
a31 a32 a33
a41 a42 a43 a44
… …
a 85 = 7 ∗ ( 7 + 1 ) 2 + 5 = 33 a85 = \frac{7*(7+1)}{2} +5 = 33a85=27∗(7+1)+5=33设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为()。
- A. BA+141
- B. BA+180
- C. BA+222
- D. BA+225
以列为主:放满一列再放下一列
5行8列:说明已经放满7列 7*8;第5行的首地址 他的前一个元素A[4,8]的结束地址就是所求的开始
BA + (7*8+4)*3 = BA+180将一个A[1…100,1…100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A中元素A6665(即该元素下标i=66,j=65),在B数组中的位置K为()。
- A. 198
- B. 195
- C. 197
- D. 199
三对角矩阵:只有对角线上以及对角线的两侧有值,其余元素为0

前65行一共有 65*3-1=194 个
A6665是第66行的第一个(n-1),故共有 194+1=195 个若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1…(n(n+1))/2]中,则在B中确定aij(i<j)的位置k的关系为()。
- A. i*(i-1)/2+j
- B. j*(j-1)/2+i
- C. i*(i+1)/2+j
- D. j*(j+1)/2+i
对称矩阵 a i j = a j i a_{ij}=a_{ji}aij=aji
当 i ≥ j i≥ji≥j时,为下三角;i ≤ j i≤ji≤j时,为上三角
题目中让求a i j ( i < j ) a_{ij}(i<j)aij(i<j)的位置,为上三角,转换到下三角中来就是a j i ( j > i ) a_{ji}(j>i)aji(j>i)
第j jj行第i ii列,k = j ∗ ( j − 1 ) 2 + i k = \frac{j*(j-1)}{2}+ik=2j∗(j−1)+i已知广义表L=((x,y,z),a,(u,t,w)),从L表中取出原子项t的运算是()。
- A. head(tail(tail(L)))
- B. tail(head(head(tail(L))))
- C. head(tail(head(tail(L))))
- D. head(tail(head(tail(tail(L)))))
head是取广义表的第一个元素(外层的括号去除),tail是取去掉第一个元素以外的所有尾部元素(注意外层的括号不能去除)
1. tail (a, (u, t, w) )
2. tail ( (u, t, w) )
3. head (u, t, w)
4. tail (t, w)
5. head t广义表A=(a,b,(c,d),(e,(f,g))),则式子Head(Tail(Head(Tail(Tail(A)))))的值为()。
- A. (g)
- B. (d)
- C. c
- D. d
设广义表L=((a,b,c)),则L的长度和深度分别为( )
- A. 1和1
- B. 1和3
- C. 1和2
- D. 2和3
长度:最外层包含元素的个数,即去掉最外层括号后含有的元素个数。
深度:表中含有括号数最多的括号层数加一树最适合于用来表示
- A. 有序数据元素
- B. 无序数据元素
- C. 元素之间无联系的数据
- D. 元素之间具有分支层次关系的数据