考研数据结构及程序设计在线题库每日一练(一十)
以下是希赛网给大家分享考研数据结构及程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研数据结构及程序设计在线题库每日一练,以下为具体内容
1、若在一个c语言源程序中“e1”,“e2”和“e3”是表达式,“s;”是语句,则下列选项中与语句“for(e1; e2; e3) s;”功能等同的语句是( )。
A、e1; while(e2) s; e3;
B、e1; while(e2) {s; e3;}
C、e1; while(e2) {e3; s;}
D、while(e2) {e1; s; e3}
2、下列叙述中正确的是( )。
A、程序执行的效率与数据的存储结构密切相关
B、程序执行的效率只取决于程序的控制结构
C、程序执行的效率只取决于所处理的数据量
D、以上三种说法都不对
3、和顺序栈相比,链栈有一个比较明显的优势是( )。
A、通常不会出现栈满的情况
B、通常不会出现栈空的情况
C、插入操作更容易
D、删除操作更容易
4、循环队列A[0...m-1]存放其元素值,用front和rear分别表示队头和队尾,当前队列中元素数是( )。
A、(rear-front+m)%m
B、rear-front+1
C、rear-front-1
D、rear-front
5、程序段:for (i = n-1; i < 1; i--) for (j = 1; j < i; j++) if (A[j] > A[j + 1]) swap(A[j], A[j + 1]);其中n为正整数,则最后一行语句执行,在最坏情况下是( )。
A、
B、
C、
D、
1、试题答案:B
试题解析:
【考点】本题考查for循环语句与while循环语句。
【解析】for语句中第1个表达式是初始化用的,第2个是循环条件,第3个是循环体执行完成后调用的。因此,先e1,再循环while(e2),其中e2为循环条件,循环体是{s; e3;}。故本题选B。
2、试题答案:A
试题解析:
【考点】本题考查影响程序执行效率的因素。
【解析】影响程序执行的效率有很多,比如数据的存储结构、程序的控制结构、程序所处理的数据量等。故本题选A。
3、试题答案:A
试题解析:
【考点】本题考查链栈的优点。
【解析】和顺序栈相比,链栈的优势是通常不会出现栈满的情况。因为顺序栈用数组实现,必须事先确定栈的大小,内存容量无法动态扩充,会出现因数组空间用光而引起溢出的问题。而链栈的空间因为是动态申请内存,一般不会出现栈满情况。故本题选A。
4、试题答案:A
试题解析:
【考点】本题考查循环队列中的元素个数。
【解析】在循环队列中,头指针指向队列中的第一个元素,尾指针指向队列中最后一个元素的下一个空位。因为牺牲了一个存储单元用于判断队满,所以rear-front的绝对值即表示队列中元素的个数。为了保证rear-front为正数 ,用(rear-front+Maxsize)mod Maxsize表示循环队列中元素个数。本题中maxsize=m,所以当前队列中元素数是(rear-front+m)%m。故本题选A。
5、试题答案:C
试题解析:
【考点】本题考查时间复杂度。
【解析】本程序段的本质是冒泡排序的核心代码,而冒泡排序在全部逆序的情况下,即最坏的情况的时间复杂度为O(n2)。故本题选C。