作业10--数组和广义表以及树的基本概念

来源:互联网 发布:淘宝女式皮鞋特价 编辑:程序博客网 时间:2024/06/06 16:33
2-1

设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为 (2分)

对称矩阵只储存一半的元素,a85即a58,当以下三角的形式储存时a58的地址为8*(8-1)+5=33.    公式地址K=i*(i-1)+j   (i为下标中的较大数)
2-2

设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为()。 (2分)

因为是列存储,我们要想,数组的形状应该是先每列放满然后在开始下一列,那么就会出现下面的
第1列                增加了7个数(8-1)//因为首地址已经存在了
第2列到第7列     =6*8
第8列                  =
所以增加了(7+48+5)个数,所以地址增加了60*3=180 
2-3

将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A中元素A6665(即该元素下标i=66,j=65),在B数组中的位置K为()。 (2分)

公式:2*(i-1)+j
2-4

若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定aij(i<j)的位置k的关系为()。 (2分)

2-5

已知广义表L=((x,y,z),a,(u,t,w)),从L表中取出原子项t的运算是()。 (2分)

head:取头     tail:取尾
2-6

广义表A=(a,b,(c,d),(e,(f,g))),则式子Head(Tail(Head(Tail(Tail(A)))))的值为()。 (2分)

2-7

设广义表L=((a,b,c)),则L的长度和深度分别为( ) (2分)

长度指最外层元素个数,深度只括号层数
2-8

树最适合于用来表示 (1分)

2-9

设树T的度为4,其中度为1、2、3、4的结点个数分别为4、2、1、1。则T中有多少个叶子结点? (3分)

一棵含有n个结点的树,有n-1个分支,即 n = 1*4 + 2*2 + 3*1 + 4*1 + 1 = 16;
又由于 n = n0 + n1 + n+ n+ n4 = n0 + 8;
n0 + 8 = 16,所有叶子结点个数为8
2-12

已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()。 (3分)

根据前后序找到根结点,再根据中序确定其余位置
2-13

已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的前序遍历是( )。 (3分)