韩山师范学院2017年本科插班生考试试卷
计算机科学与技术 专业 数据结构 试卷(A 卷)
一、单项选择题(每题2分,共30分)
1. 对线性表,在下列哪种情况下应当采用链表表示?( ) A. 经常需要随机地存取元素 B. 经常需要进行插入和删除操作 C. 表中元素需要占据一片连续的存储空间 D. 表中元素的个数不变
2. 一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( )。
A. 2 3
B. 3 2 1
C. 3 1 2
D. 1 2 3
3.程序段s=i=0;do {i=i+1; s=s+i ;}while(i<=n);的时间复杂度为( )。
A. O(n)
B. O(nlog 2n)
C.O(n 2)
D.O(n 3/2)
4.一个非空广义表的表头( )。
A.不可能是子表
B.只能是子表
C.只能是原子
D.可以是子表或原子
5.设数组data[m]作为循环队列SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作后其头指针front 值为( )。 A. front=front+1 B. front=(front+1)%(m-1)
C. front=(front-1)%m
D. front=(front+1)%m
6.在一个单链表中,若q 所指结点是p 所指结点的前驱结点,若在q 与p 之间插入一个s 所指的结点,则执行( )。
A. s →link=p →link; p →link=s;
B. p →link=s; s →link=q;
C. q →link=s; s →link =p;
D. p →link=s →link; s →link=p;