计算机专业基础综合(数据结构)模拟试卷32
单选题
1.以下说法正确的是( )。(C)
A. 数据结构的逻辑结构是指数据的各数据项之间的逻辑关系。
B. 数据元素是数据结构的最小单位。
C. 数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。
D. 判断某个算法是否容易阅读是算法分析的任务之一。
解析:A项,数据结构的逻辑结构是指数据的各数据元素之间的逻辑关系,而不是数据项之间的逻辑关系。B项,数据元素是数据结构的基本单位,数据结构的最小单位是数据项。D项,算法分析是一个软件的验证确认任务,用于保证选择的算法是正确的、合适的和稳定的,并且满足所有精确性、规模和时间方面的要求,保证产品高质量高效率的运行。容易阅读是增加算法的可读性,不是算法分析的任务。
2.以下算法的时间复杂度为( )。
void fun(int n)
{
int i=1:
while(i<=n)
i=i*2;
}(D)
A. O(n)
B. O(n2)
C. O(nlog2n)
D. O(log2n)
解析:基本运算是语句i=i×2,设其执行时间为T(n),则有:2T(n)≤n,即T(n)≤log2n=O(log2n)。
3.在一个双链表中,在*P结点之前插入*q结点的操作是( )。(D)
A. p->prior=q;q->next=p;p->prior->next=q;q->prior=p->prior;
B. q->prior=p->prior;p->prior->next=q;q->next=p;p->prior=q-next;
C. q->next=p;p->next=q;q->prior->next=q;q->next=p;
D. q->next=p;p->prior->next=q;q->prior=p->prior;p->prior=q;
解析:考查双链表中插入操作,要注意保存后继节点。
4.在双向链表存储结构中,删除P所指的结点时须修改指针的操作是( )。(A)
A. (P^.llink)^.dink:=P^.rlink:(P^.rlink)^.llink:=P^.llink
B. P^.llink:=(P^.llink)“.llink;(P^.llink)^.rlink:=P
C. (P^.rlink)^.llink:=P:P^.dink:=(P^.rlink)“.rlink
D. P^.rlink:=(P^.llink)^.llink:P^.Ilink:=(P^.rlink)^.rlink
解析:首先要将被删除结点的右指针域的值赋给前驱结点的右指针域,然后在将被删除结点的左指针域的值赋给后继结点的左指针域。具体操作语句为:(P^.llink)^.rlink:=P^.rlink;(P^.rlink)^.llink:=P^.1link。
在作进栈运算时,应先判别栈是否①,在作退栈运算时应先判别栈是否②。当栈中元素为n个。作进栈运算时发生上溢,则说明该栈的最大容量为③。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的④分别设在这片内存空间的两端,这样,当⑤时,才产生上溢。
5.①(B)
A. 空
B. 满
C. 上溢
D. 下溢
解析:进栈时,要判别栈是否己满,防止栈满造成插入溢出。
6.②(A)
A. 空
B. 满
C. 上溢
D. 下溢
解析:退栈时,应先判别栈是否已空,如果栈未空才能进行退栈操作。
7.③(B)
A. n-1
B. n
C. n+1
D. n/2
解析:如果第n+1个元素进栈发生溢出,则栈的最大容量为n。
8.④(D)
A. 长度
B. 深度
C. 栈顶
D. 栈底
解析:两个栈共享一片连续的内存空间时,应将两栈的栈底分别设在这片内存空间的两端。
9.⑤(C)
A. 两个栈的栈顶同时到达栈空间的中心点
B、其中一个栈的栈顶到达栈空间的中心点
C、两个栈的栈顶在栈空间的某一位置相遇
D、两个栈均不空,且一个栈的栈顶到达另一个栈的栈底
B. 其中一个栈的栈顶到达栈空间的中心点
C. 两个栈的栈顶在栈空间的某一位置相遇
D. 两个栈均不空,且一个栈的栈顶到达另一个栈的栈底
解析:如果发生溢出,说明两个栈的栈顶在栈空间的某一位置相遇。
10.栈和队列的共同点是( )。(C)
A. 都是先进先出
B. 都是先进后出
C. 只允许在端点处插入和删除元素
D. 没有共同点
解析:栈的特点是先进后出:队列的特点是先进先出;栈只能在栈预进行插入和删除,而队列只制在队首删除,在队尾插入。所以两者的共同点就是只允许在端点处插入和删除元素。
11.二维数组A的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标i=1,2,…,10。设每个字符占一个字节。若A按行先存储,元素A[8,5]的起始地址与当A按列先存储时起始地址相同的元素是 ( )。(B)
A. A[8,5]
B. A[3,10]
C. a[5,8]
D. A[0,9]
解析:元素a[8,5]的起始地址与当A按列先存储时的A[i,j]元素的起始地址相同,即8×10+5-1=(j-1)×9+i,将四个答案代入可得正确答案。
12.下面的说法中正确的是( )。
(1)任何一棵二叉树的叶子结点在三种遍历中的相对次序不变:
本文档预览:3000字符,共9805字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载