- 16
- 0
- 约4.66千字
- 约 3页
- 2021-10-14 发布于陕西
- 举报
第五章数组和广义表
第五章数组与广义表
一.选择题
1.下面的说法不正确的是____________。
A.数组是一种线性结构 B.数组是一种定长的线性表结构
C.除了插入与删除操作外,数组的基本操作还有存取、修改、检索和 排序等
D.数组的基本操作有存取、修改、检索和排序等,没有插入和删除操 作
分析:数组的主要操作是存取、修改、检索和排序。数组没有插入和修改 错误。答案应选择 C。
2.一维数组 A 采用顺序存储结构,每个元素占用 6 个字节,第 6 个元素 的起始地址为 100,则该数组的首地址是 。
A.64 B.28 C.70 D.90
分析:设数组元素的首地址为 x,则存在关系 x+5*6=100,因此 x 为 70,答 案应选择 C。
3.稀疏矩阵采用压缩存储的目的主要是______________ 。 A.表达变得简单 B.对矩阵元素的存取变得简单
C.去掉矩阵中的多余元素 D.减少不必要的存储空间的开销 分析:答案应选择 D。
4.若对 n 阶对称矩阵 A 以行序为主序方式将其下三角形的元素(包括主对 角线上所有元素)依次存放于一维数组 B[1..(n(n+1))/2]中,则在 B 中确 定 aij(iA. i*(i+1)/2+j B. j*(j+1)/2+i C. i*(i+1)/2+j+1 D. ? j*(j+1)/2+i+1 分析:设以行为主序放对称矩阵的下三角元素,其存储结 构如 5.4 所示, a00 存储在 B[1],a10 存储在 B[2], …… an-1n-1 存储在 B[n (n+1)/2],则对称矩阵 k 与(i,j)的对应关系为:故答案 应选择 B。 B[ ] 1 2 3 4 5 6 … k … (n(n+1))/2-1 (n(n+1))/2 A a00 a10 a11 a20 a21 a22 … aij … a(n-1) (n-2) a(n-1) (n-1) 图 5.4 对称矩阵的存储示意图 5.已知广义表 LS=((a,b,c), (d,e,f)),运用 GetHead 和 GetTail 运算取 出 LS 中的元素 e 的运算是 。 A. GetHead(GetTail(LS)) B. GetHead(GetTail(GetTail (GetHead (LS)))) C . GetTail (GetHead (LS)) D.GetHead(GetTail(GetHead(GetTail(LS)))) 分析:本题的解答过程要应用排除法,分别对 A、B、C、D 选项进行计算并 判断。根据选项 D 可知:GetHead(GetTail(GetHead(GetTail(LS))))= GetHead(GetTail(GetHead ((d,e,f))))= GetHead(GetTail(d,e,f))= GetHead((e,f))=e。答案应选 择 D。 6. 设广义表 L=((a,b,c)),则 L 的长度和深度分别为 。 A. 1 和 1 B. 1 和 3 C. 1 和 2 D. 2 和 3 i(i+1)/2+j+1ij k= j(j+1)/2+i+1i? ? ? ? 分析:该题目主要考查广义表的长度和深度的基本概念,广义表的长度是 广义表中层次为 1 的元素个数,而广义表的深度是指广义表展开后所含括 号的层数。因此本题中的 L 的长度为 1,L 的深度为 2。答案应选择 C。 7. 一个 100*90 的稀疏矩阵,非 0 元素有 10 个整型数,设每个整型数占 2 字节,则用三元组表示该矩阵时,所需的字节数是_____________。 A. 60 B. 66 C. 18000 D. 33 分析:三元组表结构为(行,列,元素值),用三元组表表示稀疏矩阵时, 还需记录稀疏矩阵的行数、列数以及非零元素个数,本题中所需的字节数 应为 10*(1+1+1)*2+3*2=66。答案应选择 D。 二判断题 1.稀疏矩阵压缩后,必会失去随机存取功能。 正确 分析:具有存取任一个元素的时间相等这一特点的存储结构称为随机存取结 构。对稀疏矩阵压缩存储所用的存储结构是三元组表或十字链表。十字链 表因其链表结构而不能随机存取;而使用三元组表存储矩阵时,若要访问 元素 aij,则必须扫描三元组表,显然查找三元组表中前后元素所消耗的时 间不同。 2.线性表可以看成是广
原创力文档

文档评论(0)