单选题
2-1
广义表 ( (a, b), c, d, e) 的表头和表尾分别是()。 (2分)
- a和e
- a和 (c, d, e)
- (a, b) 和e
- (a, b) 和 (c, d, e)
该广义表的长度:4
当广义表LS非空时,称第一个元素为表头,称其他元素组成的表为表尾
广义表的深度:广义表中括弧的重数
2-2
广义表是一种()数据结构。 (2分)
- 非递归的
- 递归的
- 树型
- 图状
显然,广义表的定义是一个递归的定义,因为在描述广义表时又用到了广义表的概念
2-3
一个广义表为 ( a, (b, c), d, (), ((f, g), h) ),则该广义表的长度与深度分别为()。 (2分)
- 4和6
- 6和3
- 3和5
- 5和3
2-4
广义表与稀疏矩阵都是线性表的扩展,它们的共同点为()。 (2分)
- 都可以用链接结构与顺序结构存储
- 无共同点
- 都是递归结构
- 数据元素本身是一个数据结构
由于广义表中的数据元素可以具有不同的结构(或是原子,或是列表),因此难以用顺序存储结构表示,通常采用链式存储结构,每个数据元素可用一个结点表示
稀疏矩阵的存储:三元组,十字链表
2-5
(neuDS_C++)广义表L = (a,(a,b),c,d,((i,j),k))的长度和深度为()。 (2分)
- 6和4
- 6和3
- 5和4
- 5和3
2-6
适用于压缩存储稀疏矩阵的两种存储结构是:(1分)
- 三元组表和十字链表
- 三元组表和邻接矩阵
- 十字链表和二叉链表
- 邻接矩阵和十字链表
2-7
稀疏矩阵在计算机中通常采用()来表示。 (2分)
- 二叉树
- 二维数组
- 图结构
- 三元组线性表
2-8
(neuDS)稀疏矩阵的三元组存储表示方法( ) (2分)
- 实现转置操作很简单,只需将每个三元组中行下标和列下标交换即可
- 矩阵的非零元素个数和位置在操作过程中变化不大时较有效
- 是一种链式存储方法
- 比十字链表更高效
变化大时适合用十字链表法
2-9
稀疏矩阵是一种特殊矩阵,其特点为()。 (2分)
- 行数远远大于列数
- 行数远远小于列数
- 非零元素的个数远远小于零元素的个数
- 零元素的个数远远小于非零元素的个数
2-10
(neuDS)设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主进行存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为( ) (2分)
- 13
- 33
- 18
- 40
仅存储一半的元素。1+2+3+4+5+6+7+5=33
2-11
(neuDS)有一个二维数组A[6][8] ,每个数组元素用相邻的6个字节存储,存储器按字节编址,那么这个数组占用的存储空间大小是( )个字节。 (2分)
- 48
- 96
- 252
- 288
2-12
(neuDS)用十字链表表示一个稀疏矩阵,每个非零元素一般用一个含有( )域的结点表示。 (2分)
- 5
- 4
- 3
- 2
非零元所在的行、列、非零元的值,向右域right以链接同一行中下一个非零元的值,向下域down以链接同一列中下一个非零元的值
2-13
(neuDS)以下( )是稀疏矩阵的一种存储方法。 (2分)
- 十字链表
- 循环链表
- 邻接表
- 堆