NOIP提高组初赛模拟试题及答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

NOIP提高组初赛模拟试题及答案

一、单项选择题(共10题,每题2分,共20分)

下列关于算法时间复杂度的说法中,正确的是()

A.算法的时间复杂度是指算法执行的实际时间

B.若算法时间复杂度为O(n2),则对于任意输入,算法执行时间都与n2成正比

C.冒泡排序的最优时间复杂度为O(n)(已排序数组)

D.二分查找的最坏时间复杂度为O(log?n),适用于所有数组

已知一棵完全二叉树的节点总数为123,其叶子节点数为()

A.61B.62C.63D.64

下列关于C++容器的说法中,错误的是()

A.vector的插入操作在尾部效率最高

B.set中的元素自动排序且不允许重复

C.map的底层实现是哈希表,查找时间复杂度为O(1)

D.queue遵循先进先出(FIFO)原则,不支持随机访问

下列排序算法中,不稳定且时间复杂度最坏情况下为O(n2)的是()

A.冒泡排序B.快速排序C.选择排序D.归并排序

设栈的初始状态为空,输入序列为1、2、3、4、5,下列输出序列中不可能出现的是()

A.3、2、1、5、4B.2、3、5、4、1C.5、4、3、2、1D.1、3、2、5、4

对于无向连通图,下列说法正确的是()

A.边数一定大于顶点数减1

B.不存在回路的无向连通图是树,边数=顶点数-1

C.邻接矩阵存储方式的空间复杂度与边数无关

D.深度优先搜索(DFS)和广度优先搜索(BFS)的时间复杂度不同

下列关于位运算的说法中,正确的是()

A.ab表示按位或运算

B.a^b=0当且仅当a==b

C.a1等价于a*2,对所有整数a成立

D.~a表示按位取反,结果一定是负数

已知函数f(n)=2n3+3n2+n+1,其时间复杂度为()

A.O(n)B.O(n2)C.O(n3)D.O(2?)

下列关于递归的说法中,错误的是()

A.递归函数必须有递归出口,否则会导致栈溢出

B.递归的时间复杂度可能高于非递归实现

C.所有递归问题都可以转化为非递归问题

D.递归调用时,函数参数会被重新创建,不影响上一层调用

在C++中,下列关于指针的操作中,合法的是()

A.inta=5;int*p=a;*p=a;

B.inta[5]={1,2,3,4,5};int*p=a;p++;

C.int*p;*p=10;

D.inta=5;int*p=a;

二、填空题(共5题,每题4分,共20分)

已知一棵二叉树的前序遍历序列为ABDECF,中序遍历序列为DBEAFC,则其后序遍历序列为__________。

若一棵二叉搜索树的中序遍历序列为1、3、5、7、9,则其可能的前序遍历序列为__________(写出一个即可)。

设数组a[0..n-1]为升序排列,采用二分查找查找元素x,若x不在数组中,最多需要比较__________次(用log?n表示,向上取整)。

执行下列代码后,变量sum的值为__________。

intsum=0;

for(inti=1;i=5;i++){

for(intj=i;j=5;j++){

sum+=i*j;

}

}

无向图G有8个顶点,若要保证G是连通图,则最少需要__________条边。

三、阅读程序题(共2题,每题10分,共20分)

题目1

#includeiostream

usingnamespacestd;

intf(intn){

if(n==1)return1;

if(n==2)return2;

returnf(n-1)+f(n-2);

}

intmain(){

intn;

cinn;

coutf(n)endl;

return0;

}

(1)若输入n=5,程序的输出结果为__________。(4分)

(2)该函数的功能是__________。(6分)

题目2

#includeiostream

usingnamespacestd;

voidfun(inta[],intn){

inti,j,temp;

for(i=1;in;i++){

文档评论(0)

151****9429 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档