绪论 单元测试

1、 问题:数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称这为( )。
选项:
A:存储结构
B:逻辑结构
C:顺序存储结构
D:链式存储结构
答案: 【
顺序存储结构

2、 问题:算法的时间复杂度取决于( ) 。
选项:
A:问题的规模
B:待处理数据的初态
C:问题的复杂度
D:问题的可解性
答案: 【
问题的规模
待处理数据的初态

3、 问题:从逻辑上可以把数据结构分为( )。
选项:
A:静态结构
B:线性结构
C:非线性结构
D:物理结构
答案: 【
线性结构
非线性结构

4、 问题:除了考虑存储数据结构本身所占用的空间外,实现算法所用辅助空间的多少称为算法的( )。
选项:
A:时间效率
B:空间效率
C:硬件效率
D:软件效率
答案: 【
空间效率

5、 问题:链式存储的存储结构所占存储空间( )。
选项:
A:分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B:只有一部分,存放结点值
C:只有一部分,存储表示结点间关系的指针
D:分两部分,一部分存放结点值,另一部分存放指向下一结点的地址
答案: 【
分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
分两部分,一部分存放结点值,另一部分存放指向下一结点的地址

6、 问题:设语句X++的时间是单位时间,则语句。
for(I=1;I<=n;I++)
x++;
的时间复杂度为( )
选项:
A:O(1)
B:O(n)
C:O(n2)
D:O(n3)
答案: 【
O(n)

7、 问题:对一个算法的评价,不包括如下( )方面的内容。
选项:
A:健壮性和可读性
B:并行性
C:计算性
D:时空复杂度
答案: 【
并行性
计算性

8、 问题:以下数据结构中哪一个是非线性结构 ( )
选项:
A:队列
B:栈
C:线性表
D:二叉树
答案: 【
二叉树

9、 问题:逻辑结构与数据元素本身的内容和形式无关( )
选项:
A:对
B:错
答案: 【

10、 问题:基于某种逻辑结构之上的基本操作,其实现是唯一的。( )
选项:
A:对
B:错
答案: 【

第一章 单元测试

1、 问题:非空的循环单链表head的尾结点(由p指向)满足( )。
选项:
A:p→next==NULL
B:p==NULL
C:p→next==head
D:p==head
答案: 【
p→next==head

2、 问题:带头结点head的单链表为空的判定条件是( )。
选项:
A:head==NULL
B:head->next==NULL
C:head->next==head
D:head!==NULL
答案: 【
head->next==NULL

3、 问题:在长度为n的顺序表的第i个位置上插入一个元素(1≤ i ≤n+1),元素的移动次数为( )。
选项:
A:n – i + 1
B:n – i
C:i
D:i – 1
答案: 【
n – i + 1

4、 问题:在一个单链表中,若删除P所指结点的后续结点,则执行( )。
选项:
A:P->next=P->next->next;
B:q=P->next; P->next=P->next->next;
C:P->next=P->next
D:P=P->next->next
答案: 【
q=P->next; P->next=P->next->next;

5、 问题:在循环双链表的p所指结点后插入s所指结点的操作是( )。
选项:
A:p->next=s; s->prior=p; p->next->prior=s; s->next=p->next;
B:p->next=s; p->next->prior=s; s->prior=p; s->next=p->next;
C:s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;
D:s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;
答案: 【
s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;

6、 问题:线性表的逻辑顺序和存储顺序总是一致的。( )
选项:
A:对
B:错
答案: 【

7、 问题:线性表的顺序存储结构优于链接存储结构。( )
选项:
A:对
B:错
答案: 【

8、 问题:用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中某结点,则j后移的操作语句为j=j+1。( )
选项:
A:对
B:错
答案: 【

9、 问题:下列叙述正确的是( )。
选项:
A:空表是长度等于0的线性表。
B:顺序表插入操作的时间复杂度为O(n)。
C:在链表进行删除操作时,在给出指向链表中某个合适位置的指针后,删除操作所需的时间仅为O(1)。
D:当线性表中元素个数变化较大或者未知时,最好使用链表实现。
E:若线性表需频繁进行插入和删除操作,则宜采用顺序表作为存储结构。
答案: 【
空表是长度等于0的线性表。
顺序表插入操作的时间复杂度为O(n)。
在链表进行删除操作时,在给出指向链表中某个合适位置的指针后,删除操作所需的时间仅为O(1)。
当线性表中元素个数变化较大或者未知时,最好使用链表实现。

10、 问题:静态链表的指针表示的是( )。
选项:
A:下一元素的地址。
B:内存储器的地址。
C:下一元素在数组中的位置。
D:左链或右链指向的元素地址。
E:下一元素在数组的下标。
答案: 【
下一元素在数组中的位置。
下一元素在数组的下标。

第二章 单元测试

1、 问题:一个队列的入队列顺序是1,2,3,4,则队列的输出顺序是( )
选项:
A:1234
B:4321
C:1432
D:不唯一
答案: 【
1234

2、 问题:一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )
选项:
A:2 3 4 1 5
B:5 4 1 3 2
C:2 3 1 4 5
D:5 1 4 3 2
答案: 【
5 4 1 3 2
5 1 4 3 2

3、 问题:设一个栈,元素abcdef,依次进栈,不可能得到出栈序列是( )
选项:
A:abcdef
B:fedcba
C:fabced
D:defabc
答案: 【
fabced
defabc

4、 问题:在栈中,出栈的时间复杂度为( )
选项:
A:O(1)
B:O(log2n)
C:O(n)
D:O(n2)
答案: 【
O(1)

5、 问题:循环队列用数组A[maxsize] 表示,下面哪个选项表示该循环队列队满 ( )
选项:
A:rear==maxsize-1
B:front==(rear+1)%maxsize
C:rear-front==maxsize
D:rear-front==maxsize-1
答案: 【
front==(rear+1)%maxsize

6、 问题:栈和队列属于非线性结构( )
选项:
A:对
B:错
答案: 【

7、 问题:读队头元素和出队操作是一样的( )
选项:
A:对
B:错
答案: 【

8、 问题:循环队列的判空操作只需判断front==rear是否成立( )
选项:
A:对
B:错
答案: 【

9、 问题:循环队列的基本操作的实现,算法的时间复杂度都是O(1)( )
选项:
A:对
B:错
答案: 【

10、 问题:取栈顶元素不需要修改指针( )
选项:
A:对
B:错
答案: 【

第三章 单元测试

1、 问题:100个结点的完全二叉树采用顺序存储,从1开始按层次编号,则编号最小的叶子结点的编号应该是( )。
选项:
A:51
B:100
C:49
D:50
答案: 【
51

本门课程剩余章节答案为付费内容
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦

   

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注