第五章 数组和义表.docVIP

  • 5
  • 0
  • 约2.72万字
  • 约 22页
  • 2016-10-08 发布于贵州
  • 举报
第五章 数组和广义表 一、选择题 1.B 2.1L 2.2J 2.3C 2.4I 2.5C 3.B 4.B 5.A 6.1H 6.2C 6.3E 6.4A 6.5F 7.B 8.1E 8.2A 8.3B 9.B 10.B 11.B 12.B 13.A 14.B 15.B 16.A 17.C 18.D 19.C 20.D 21.F 22.C 23.D 24.C 25.A 26.C 27.A 二、判断题 1. × 2.√ 3.√ 4.× 5.× 6. × 7.√ 8.× 9.× 10.× 11.× 12.√ 13.√ 14.√ 部分答案解释如下。 1. 错误。对于完全二叉树,用一维数组作存储结构是效率高的(存储密度大)。 4. 错误。数组是具有相同性质的数据元素的集合,数据元素不仅有值,还有下标。因此,可以说数祖是元素值和下标构成的偶对的有穷集合。 5. 错误。数组在维数和界偶确定后,其元素个数已经确定,不能进行插入和删除运算。 6. 错误。稀疏矩阵转置后,除行列下标及行列数互换外,还必须确定该元素转置后在新三元组中的位置。 8. 错误。广义表的取表尾运算,是非空广义表除去表头元素,剩余元素组成的表,不可能是原子。 9. 错误。广义表的表头就是广义表的第一个元素。只有非空广义表才能取表头。 10. 错误。广义表中元素可以是原子,也可以是表(包括空表和非空表)。 11. 错误。广义表的表尾,指去掉表头元素后,剩余元素所组成的表。 三、填空题 1. 顺序存储结构 2.(1)9572(2)1228 3.(1)9174(2)8788 4. 1100 5. 1164 公式:LOC(aijk)=LOC(a000)+[v2*v3*(i-c1)+v3*(j-c2)+(k-c3)]*l (l为每个元素所占单元数) 6. 232 7. 1340 8. 1196 9. 第1行第3列 10. (1)270 (2)27 (3)2204 11. i(i-1)/2+j (1=i,j=n) 12. (1)n(n+1)/2 (2)i(i+1)/2 (或j(j+1)/2) (3)i(i-1)/2+j (4)j(j-1)/2+i (1=i,j=n) 13. 1038 三对角矩阵按行存储:k=2(i-1)+j (1=i,j=n) 14. 33 (k=i(i-1)/2+j) (1=i,j=n) 15. 非零元很少(tm*n)且分布没有规律 16. 节省存储空间。 17. 上三角矩阵中,主对角线上第r(1(r(n) 行有n-r+1个元素,aij所在行的元素数是j-i+1。所以,元素在一维数组的下标k和二维数组下标关系:k=((i-1)*(2n-i+2))/2+(j-i+1)=(i-1)(2n-i)/2+j (i(j) 18. 93 19. i(i-1)/2+j 20. 线性表 21. 其余元素组成的表 22. (1) 原子(单元素)是结构上不可再分的,可以是一个数或一个结构;而表带结构,本质就是广义表,因作为广义表的元素故称为子表。 (2)大写字母 (3)小写字母 (4)表中元素的个数(5)表展开后所含括号的层数 23. 深度 24.(1)() (2)(()) (3)2 (4)2 25. head(head(tail(tail(head(tail(tail(A))))))) 26. 表展开后所含括号的层数 27.(1)5 (2)3 28. head(head(tail(LS))) 29. head(tail(tail(head(tail(head(A)))))) 30. head(tail(head(tail(H)))) 31. (b) 32. (x,y,z) 33. (d,e) 34. GetHead(GetHead(GetTail(L))) 35. 本算法中,首先数组b中元素以逆置顺序放入d数组中,然后数组a和数组d的元素比较,将大者拷贝到数组c。第一个WHILE循环到数组a或数组d结尾,第二个和第三个WHILE语句只能执行其中的一个。 (1)b[m-i+1](2)x:=a[i](3)i:=i+1(4)x:=d[j](5)j:=j+1 (6)k:=k+1(7)i=l(8)j=m 36.(1)(i==k) return(2)i+1(3)i-1(4)i!=k 本算法利用快速排序思想,找到第k个元素的位置(下标k-1因而开初有k--)。内层do循环以t(t=a[

文档评论(0)

1亿VIP精品文档

相关文档