填空题
- 假设有6行8列的二维数组A,每个元素占用6个字节,存储器按字节编址,已知A的基地址为1000.那么元素A[3, 6]在按行存储时的地址是 1306 。
- 循环队列是队列的 顺序 存储结构。
- 已知一个广义表A=( a, ( b, () ), ( c, ( d, () ) ) ),该广义表的深度为 3 。
广义表的深度是max(每个元素深度) + 1 - 数组A[ 1…50, 1…60 ]的每个元素占4个字节,将其以列序为主序存储在起始地址为10000的内存单元中,作为元素A[29, 37]的地址是 16864 。
- 广义表L = ( (x,a), (x, a, (b,c)) , y )的长度是 3 。
广义表的长度就是看第一层所含的元素个数
选择题
选择
- 下列有关线性表的叙述中,正确的是 A 。
A. 一个线性表是n个数据元素的优先序列
B. 线性表章任何一个元素有且仅有一个直接前驱
C. 线性表中任何一个元素有且仅有一个直接后继
D. 以上说法都不正确 - 在循环队列中(至少用一个存储空间),队列的条件是 。
A. ( rear + 1 ) % Maxsize == front
B. Rear == front
C. ( front + 1 ) % Maxsize == rear
D. Rear == 0 - 假设指针p指向单链表中的某一结点,s为某结点的指针,则在p结点后面插入结点s的操作是 C 。
A. P->link =s, s = p->link
B. P->link = s, s->link = p->link
C. S->link =p->link, p->link = s
D. S->link = p, p->link = s - 对于只在表的头尾为两端进行插入操作的线性表,宜采用的存储结构为 A 。
A. 顺序表
B. 用头指针表示的单循环链表
C. 用尾指针表示的单循环链表
D. 单链表 - 算法分析的目的是 C 。
A. 找出数据结构的合理性
B. 研究算法的输入和输出关系
C. 分析算法的效率以求改进
D. 分析算法的易懂性和文档性 - 从逻辑上可以把数据结构分为 C 两大类。
A. 动态结构 静态结构
B. 顺序结构 链式结构
C. 线性结构 非线性结构
D. 初等结构 构造型结构 - 不具有线性结构的数据结构是 C 。
A. 队列
B. 栈
C. 树
D. 线性表 - 非空的循环单链表head的尾结点p满足 B 。
A. P->next = NULL
B. P->next == head
C. P == NULL
D. P == head - 在单链表中,指针p指向元素为x的结点实现“删除x的后继”的语句是 B 。
A. P = p->link
B. P->link = p->link->link
C. P->link = p
D. P = p->link->link - 设数组data[m]作为循环队列SQ的存储空间,front为头指针,rear为尾指针,执行出队操作,其头指针的操作为 D 。
A. Front =front+1
B. Front = (front + 1 ) % ( m – 1 )
C. Front = ( front – 1 ) % m
D. Front = ( front + 1 ) % m
判断题
判断
- 数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构。×
- 顺序表结构适宜于进行顺序存取而链表适宜于进行随机存取。×
- 三元组表是稀疏矩阵的顺序存储结构。√
- 一种逻辑结构可以采用不同的存储方式存放在计算机中。√
- N阶下三角矩阵压缩存储需要n * ( n + 1 ) / 2 个存储空间。√