【考研类试卷】计算机专业基础综合历年真题试卷汇编13及答案解析.doc
《【考研类试卷】计算机专业基础综合历年真题试卷汇编13及答案解析.doc》由会员分享,可在线阅读,更多相关《【考研类试卷】计算机专业基础综合历年真题试卷汇编13及答案解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、计算机专业基础综合历年真题试卷汇编 13及答案解析(总分:62.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:30.00)1.单项选择题 1-40小题。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。(分数:2.00)_2.设 n是描述问题规模的非负整数,下面程序片段的时间复杂度是_。x=2;while(xn2)x=2*x;(分数:2.00)A.O(log 2 n)B.O(n)C.O(nlog 2 n)D.O(n 2 )3.知两个长度分别为 m和 n的升序链表,若将它们合并为一个长度为 m+n的降序链表,则最坏情况下的时间复杂度是_。(分数:2.00)A.O(n)B
2、.O(mn)C.O(min(m,n)D.O(max(m,n)4.求整数 n(n0)阶乘的算法如下,其时间复杂度是_。int fact(int n)if(n=1)return 1;return n*fact(n-1),(分数:2.00)A.O(log 2 n)B.O(n)C.O(nlog 2 n)D.O(n 2 )5.下列程序段的时间复杂度是_。count=0;for(k=1,k=n;k*=2)for(j=1,j=n,j+)count+;(分数:2.00)A.O(log 2 n)B.O(n)C.O(nlog 2 n)D.O(n 2 )6.若元素 a,b,c,d,e,f 依次进栈,允许进栈、退栈操
3、作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是_。(分数:2.00)A.dcebfaB.cbdaefC.bcaefdD.afedcb7.元素 a,b,c,d,e 依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素 d开头的序列个数是_。(分数:2.00)A.3B.4C.5D.68.一个栈的入栈序列为 1,2,3,n,其出栈序列是 P 1 ,p 2 ,p 3 ,P n 。若 p 2 =3,则 p 3 可能取值的个数是_。(分数:2.00)A.n-3B.n-2C.n-1D.无法确定9.循环队列放在一维数组 A0M-1中,en
4、d1 指向队头元素,end2 指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳 M-1个元素。初始时为空。下列判断队空和队满的条件中,正确的是_。(分数:2.00)A.队空:end1=end2;队满:end1=(end2+1)mod MB.队空:end1=end2;队满:end2=(end1+1)mod (M-1)C.队空:end2=(end1+1)mod M;队满:end1=(end2+1)rood MD.队空:end1=(end2+1)mod M;队满:end2=(end1+1)mod (M-1)10.已知循环队列存储在一维数组 A0n-1中,且队列非空时 f
5、ront和 rear分别指向队头元素和队尾元素。若初始时队列为空,且要求第 1个进入队列的元素存储在 A0处,则初始时 front和 rear的值分别是_。(分数:2.00)A.0,0B.0,n-1C.n-1,0D.n-1,n-111.某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。若元素 a,b,c,d,e 依次入此队列后再进行出队操作,则不可能得到的出队序列是_。(分数:2.00)A.bacdeB.dbaceC.dbcaeD.ecbad12.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出
6、数据。该缓冲区的逻辑结构应该是_。(分数:2.00)A.栈B.队列C.树D.图13.设栈 S和队列 Q的初始状态均为空,元素 a,b,c,d,e,f,g 依次进入栈 S。若每个元素出栈后立即进入队列 Q,且 7个元素出队的顺序是 b,d,c,f,e,a,g,则栈 S的容量至少是_。(分数:2.00)A.1B.2C.3D.414.已知操作符包括+、-、(和)。将中缀表达式 a+b-a*(c+d)e-f)+g 转换为等价的后缀表达式 ab+acd+ef-*-g+时,用栈来存放暂时还不能确定运算次序的操作符,若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是_。(分数:2.00)A.5B
7、.7C.8D.1115.已知程序如下:Int S(int n)return (n=0)20:s(n-1)+n;Void main()cioutS(1);程序运行时使用栈来保存调用过程的信息,自栈底到栈项保存的信息依次对应的是_。(分数:2.00)A.main()S(1)S(0)B.S(0)S(1)main()C.main()S(0)S(1)D.S(1)S(0)main()二、综合应用题(总题数:6,分数:32.00)16.综合应用题 41-47小题。_设将 n(n1)个整数存放到一维数组 R中。试设计一个在时间和空间两方面都尽可能高效的算法。将 R中保存的序列循环左移 p(0pn)个位置,即将
8、 R中的数据由(X 0 ,X 1 ,X n-1 )变换为(X p ,X p+1 ,X n-1 ,X 0 ,X 1 ,X p-1 )。 要求:(分数:6.00)(1).给出算法的基本设计思想。(分数:2.00)_(2).根据设计思想,采用 C或 C+或 Java语言描述算法,关键之处给出注释。(分数:2.00)_(3).说明你所设计算法的时间复杂度和空间复杂度。(分数:2.00)_已知一个整数序列 A=(a 0 ,a 1 ,a n+1 ),其中 0a i n(0in)。若存在 a p1 =a p2 =a pm =x且 mn2(0p k n,1km),则称 x为 A的主元素。例如 A=(0,5,5
9、,3,5,7,5,5),则 5为主元素;又如 A=(0,5,5,3,5,1,5,7),则 A中没有主元素。假设 A中的 n个元素保存在一个一维数组中,请设计一个尽可能高效的算法 j找出 A的主元素。若存在主元素,则输出该元素;否则输出-1。 要求:(分数:6.00)(1).给出算法的基本设计思想。(分数:2.00)_(2).根据设计思想,采用 C或 C+或 Java语言描述算法,关键之处给出注释。(分数:2.00)_(3).说明你所设计算法的时间复杂度和空间复杂度。(分数:2.00)_已知一个带有表头结点的单链表,结点结构为: (分数:6.00)(1).描述算法的基本设计思想。(分数:2.00
10、)_(2).描述算法的详细实现步骤。(分数:2.00)_(3).根据设计思想和实现步骤,采用程序设计语言描述算法(使用 C、C+或 Java语言实现),关键之处请给出简要注释。(分数:2.00)_假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间,例如,“loading”和“being”的存储映像如下图所示。 设 str1和 str2分别指向两个单词所在单链表的头结点,链表结点结构为 (分数:6.00)(1).给出算法的基本设计思想。(分数:2.00)_(2).根据设计思想,采用 C或 C+或 JAVA语言描述算法,关键之处给出注释。(分数:2.00)_(3
11、).说明你所设计算法的时间复杂度。(分数:2.00)_用单链表保存 m个整数,结点的结构为:datalink,且datan(n 为正整数)。现要求设计一个时间复杂度尽可能高效的算法,对于链表中 data的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。例如,若给定的单链表 head如下: 则删除结点后的 head为: (分数:8.00)(1).给出算法的基本设计思想。(分数:2.00)_(2).使用 C或 C+语言,给出单链表结点的数据类型定义。(分数:2.00)_(3).根据设计思想,采用 C或 C+语言描述算法,关键之处给出注释。(分数:2.00)_(4).说明你所设计
12、算法的时间复杂度和空间复杂度。(分数:2.00)_计算机专业基础综合历年真题试卷汇编 13答案解析(总分:62.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:30.00)1.单项选择题 1-40小题。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。(分数:2.00)_解析:2.设 n是描述问题规模的非负整数,下面程序片段的时间复杂度是_。x=2;while(xn2)x=2*x;(分数:2.00)A.O(log 2 n) B.O(n)C.O(nlog 2 n)D.O(n 2 )解析:解析:在程序中,执行频率最高的语句为“x=2*x”。设该语句共执行了 T(n)次,则
13、2 T(n)+1 n2,故 T(n)=log 2 (n2)-1=log 2 n-2,得 T(n)=O(log 2 n)。3.知两个长度分别为 m和 n的升序链表,若将它们合并为一个长度为 m+n的降序链表,则最坏情况下的时间复杂度是_。(分数:2.00)A.O(n)B.O(mn)C.O(min(m,n)D.O(max(m,n) 解析:解析:两个升序链表合并,两两比较表中元素,每比较一次确定一个元素的链接位置(取较小元素,头插法)。当一个链表比较结束后,将另一个链表的剩余元素插入即可。最坏的情况是两个链表中的元素依次进行比较,直到两个链表都到表尾,即每个元素都经过比较,时间复杂度为 O(m+n)
14、=0(max(m,n)。4.求整数 n(n0)阶乘的算法如下,其时间复杂度是_。int fact(int n)if(n=1)return 1;return n*fact(n-1),(分数:2.00)A.O(log 2 n)B.O(n) C.O(nlog 2 n)D.O(n 2 )解析:解析:本算法是一个递归运算,即算法中出现了调用自身的情形。递归的边界条件是 n1,每调用一次 fact(),传入该层 fact()的参数值减 1。采用递归式来表示时间复杂度有5.下列程序段的时间复杂度是_。count=0;for(k=1,k=n;k*=2)for(j=1,j=n,j+)count+;(分数:2.0
15、0)A.O(log 2 n)B.O(n)C.O(nlog 2 n) D.O(n 2 )解析:解析:内层循环条件 j=n 与外层循环的变量无关,每次循环 j自增 1,每次内层循环都执行 n次。外层循环条件为 k=n,增量定义为 k*=2,可知循环次数为 2 k =n,即 k=log2n。所以内层循环的时间复杂度是 O(n),外层循环的时间复杂度是 O(log2n)。对于嵌套循环,根据乘法规则可知,该段程序的时间复杂度 T(n)=T 1 (n)*T 2 (n)=O(n)*O(log 2 n)=O(nlog 2 n),选 C。6.若元素 a,b,c,d,e,f 依次进栈,允许进栈、退栈操作交替进行,
16、但不允许连续三次进行退栈操作,则不可能得到的出栈序列是_。(分数:2.00)A.dcebfaB.cbdaefC.bcaefdD.afedcb 解析:解析:选项 A可由 in、in、in、in、out、out、in、out、out、in、out、out 得到;选项 B可由in、in、in、out、out、in、out、out、in、out、in、out 得到;选项 C可由in、in、out、in、out、out、in、in、out、in、out、out 得到:选项 D可由in、out、in、in、in、in、in、 out、out、out、out、out 得到,但题意要求不允许连续三次退栈操作,
17、故 D不可能得到。7.元素 a,b,c,d,e 依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素 d开头的序列个数是_。(分数:2.00)A.3B.4 C.5D.6解析:解析:d 为第 1个出栈元素,则 d之前的元素必定是进栈后在栈中停留。因而出栈顺序必为dcba,e 的顺序不定,在任一“_”上都有可能,一共有 4种可能。8.一个栈的入栈序列为 1,2,3,n,其出栈序列是 P 1 ,p 2 ,p 3 ,P n 。若 p 2 =3,则 p 3 可能取值的个数是_。(分数:2.00)A.n-3B.n-2C.n-1 D.无法确定解析:解析:显
18、然,3 之后的 4,5,n 都是 P 3 可取的数(一直进栈直到该数入栈后马上出栈)。接下来分析 1和 2:P 1 只能是 3之前入栈的数(可能是 1或 2),当 P 1 =1时,P3 可取 2;当 P 1 =2时,P 3 可取 1,故 P 3 可能取除 3之外的所有数,个数为 n-1。9.循环队列放在一维数组 A0M-1中,end1 指向队头元素,end2 指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳 M-1个元素。初始时为空。下列判断队空和队满的条件中,正确的是_。(分数:2.00)A.队空:end1=end2;队满:end1=(end2+1)mod M
19、B.队空:end1=end2;队满:end2=(end1+1)mod (M-1)C.队空:end2=(end1+1)mod M;队满:end1=(end2+1)rood MD.队空:end1=(end2+1)mod M;队满:end2=(end1+1)mod (M-1)解析:解析:end1 指向队头元素,那么可知出队的操作是先从 Aend1读数,然后 end1再加 1。end2 指向队尾元素的后一个位置,那么可知入队操作是先存数到 Aend2,然后 end2再加 1。若把 A0储存第一个元素,当队列初始时,入队操作是先把数据放到 A0,然后 end2自增,即可知 end2初值为 0;而end1
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机专业 基础 综合 历年 汇编 13 答案 解析 DOC
