一、对称矩阵

55f350f0a9aed95b59386538f98dd38.jpg

2-1设有一个10阶的对称矩阵A,

采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为 33
c23d92cfb665d11d05189e26ab1157a.jpg

2-4若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,

则在B中确定aij(i对称矩阵Aij对应到数组B[k]的对应关系是:
i>=j,k=(i(i-1)/2)+j-1;
i<j,k=(j
(j-1)/2)+i-1 ;

二、三对角矩阵

2-3将一个A[1..100,1..100]的三对角矩阵,

按行优先存入一维数组B[1‥298]中,A中元素A6665(即该元素下标i=66,j=65),在B数组中的位置K为 195
6dd6771c4f05078ed1e5c79dab1b9ed.jpg

三、普通矩阵

2-2设有数组A[i,j],

数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为 BA+180
174d20381c7d9b507f526aaaba9a990.jpg

四、广义表

线性表的推广,即表中的元素既可以是单个元素(原子),也可以是一个表(子表)。
head():取线性表中的第一个元素。
tail():取线性表中剩下的部分。(所以注意带括号)

表长:第一层元素个数,原子或子表算一个。
表深:最大嵌套次数 。

2-11线性表L=(a,(u,w,g)),

tail(L)=((u,w,g));
tail(tail(L))=(u,w,g);
tail(tail(tail(L)))=g;

2-5已知广义表L=((x,y,z),a,(u,t,w)),

从L表中取出原子项t的运算是 head(tail(head(tail(tail(L)))))
tail(L)=(a,(u,t,w));
tail(tail(L))=((u,t,w));
head(tail(tail(L)))=(u,t,w);
tail(head(tail(tail(L))))=(t,w);
head(tail(head(tail(tail(L)))))=u;

2-7设广义表L=((a,b,c)),

则L的长度和深度分别为 1,2