钝唐惫俩轨笔巨揽实肪暖借夏
力牟惜敢馈快丝蕉策敲汇激死
绪论 单元测试
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(n)
B:O(1)
C:O(n3)
D:O(n2)
答案: 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==head
C:p→next==head
D:p==NULL
答案: p→next==head
2、单选题:
带头结点head的单链表为空的判定条件是( )。
A:head->next==head
B:head->next==NULL
C:head!==NULL
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:q=P->next; P->next=P->next->next;
B:P->next=P->next->next;
C:P=P->next->next
D:P->next=P->next
答案: q=P->next; P->next=P->next->next;
5、单选题:
在循环双链表的p所指结点后插入s所指结点的操作是( )。
A:p->next=s; p->next->prior=s; s->prior=p; s->next=p->next;
B:p->next=s; s->prior=p; p->next->prior=s; s->next=p->next;
C:s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;
D:s->prior=p; s->next=p->next; p->next=s; p->next->prior=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:顺序表插入操作的时间复杂度为O(n)。
B:当线性表中元素个数变化较大或者未知时,最好使用链表实现。
C:若线性表需频繁进行插入和删除操作,则宜采用顺序表作为存储结构。
D:在链表进行删除操作时,在给出指向链表中某个合适位置的指针后,删除操作所需的时间仅为O(1)。
E:空表是长度等于0的线性表。
答案: 顺序表插入操作的时间复杂度为O(n)。
;当线性表中元素个数变化较大或者未知时,最好使用链表实现。
;在链表进行删除操作时,在给出指向链表中某个合适位置的指针后,删除操作所需的时间仅为O(1)。
;空表是长度等于0的线性表。
10、多选题:
静态链表的指针表示的是( )。
A:下一元素的地址。
B:内存储器的地址。
C:下一元素在数组中的位置。
D:左链或右链指向的元素地址。
E:下一元素在数组的下标。
答案: 下一元素在数组中的位置。
;下一元素在数组的下标。
第二章 单元测试
1、单选题:
一个队列的入队列顺序是1,2,3,4,则队列的输出顺序是( )
A:4321
B:不唯一
C:1432
D:1234
答案: 1234
2、多选题:
一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( )
A:2 3 4 1 5
B:2 3 1 4 5
C:5 4 1 3 2
D:5 1 4 3 2
答案: 5 4 1 3 2
;5 1 4 3 2
3、多选题:
设一个栈,元素abcdef,依次进栈,不可能得到出栈序列是( )
A:defabc
B:abcdef
C:fedcba
D:fabced
答案: defabc
;fabced
4、单选题:
在栈中,出栈的时间复杂度为( )
A:O(1)
B:O(n2)
C:O(log2n)
D:O(n)
答案: O(1)
5、单选题:
循环队列用数组A[maxsize] 表示,下面哪个选项表示该循环队列队满 ( )
A:rear-front==maxsize
B:rear-front==maxsize-1
C:rear==maxsize-1
D:front==(rear+1)%maxsize
答案: front==(rear+1)%maxsize
6、判断题:
栈和队列属于非线性结构( )
A:错
B:对
答案: 错
7、判断题:
读队头元素和出队操作是一样的( )
A:错
B:对
答案: 错
8、判断题:
循环队列的判空操作只需判断front==rear是否成立( )
A:错
B:对
答案: 对
9、判断题:
循环队列的基本操作的实现,算法的时间复杂度都是O(1)( )
A:错
B:对
答案: 对
10、判断题:
取栈顶元素不需要修改指针( )
A:对
B:错
答案: 对
如需购买完整答案,请点击下方红字:
获取更多网课答案,请点击这里,进入www.mengmianren.com
榷拈仓怜输俺笔窜畦雄梦休慷
宫赤蠢嚼兰彪巢瞪写卡锚泊归