NOIP普及组初赛历年试题及答案选择题篇 下载本文

则与上述程序段修改 s 值的功能等价的赋值语句是()。 A. s = a + b; B. s = a + c; C. s = s + c; D. s = b + c; NOIP2016-13. 有以下程序: #include using namespace std; int main() { int k = 4, n = 0; while (n < k) { n++; if (n % 3 != 0) continue; k--; }

cout << k <<\return 0; }

程序运行后的输出结果是( )。 A. 2,2 B. 2,3 C. 3,2 D. 3,3

NOIP2016-14. 给定含有 n 个不同的数的数组L=。如果 L 中存在 x(i 1 < i xi+1 >...>xn,则称L是单峰的,并称xi是L的 “峰顶”。现在已知 L 是单峰的,请把a-c 三行代码补全到算法中使得算法正确找到 L 的峰顶。 a. Search(k+1, n) b. Search(1, k-1) c. return L[k] Search(1, n) 1. k←?n/2?

2. if L[k] > L[k-1] and L[k] > L[k+1] 3. then __________

4. else if L[k] > L[k-1] and L[k]

A. c,a,b B. c,b,a C. a,b,c D. b,a,c

五、算法基础(每年2-3题,了解常见算法特征即可,更趋向解决实际问题了)

NOIP2011-8. 体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。每个同学按顺序来到操场时,都从排尾走到排头,找到第一个比自己高的同学,并站在他的后面。这种站队的方法类似于( )算法。

A.快速排序 B.插入排序 C.冒泡排序 D.归并排序

NOIP2011-12. 在使用高级语言编写程序时,一般提到的“空间复杂度”中的“空间”是指( )。

A .程序运行时理论上所占的内存空间 B.程序运行时理论上所占的数组空间 C.程序运行时理论上所占的硬盘空间 D.程序源文件理论上所占的硬盘空间

NOIP2011-13. 在含有 n 个元素的双向链表中查询是否存在关键字为 k 的元素,最快情况下运行的时间复杂度是( )。

A . O(1 ) B . O( log n ) C. O( n ) D. O( n log n )

NOIP2011-17. ( )是一种选优搜索法,按选优条件向前搜索,以达到目标。当搜索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。 A.回溯法 B.枚举法 C.动态规划 D.贪心

NOIP2012-8. 使用冒泡排序对序列进行升序排序,每执行一次交换操作将会减少 1 个逆序对,因此序列 5, 4, 3, 2, 1需要执行( )次交换操作,才能完成冒泡排序。

A. 0 B.5 C. 10 D. 15

NOIP2012-15. ( )就是把一个复杂的问题分成两个或者更多的相同或相似的子问题,再把子问题分成更小的子问题??直到最后的子问题可以简单的直接求解。而原问题的解就是子问题解的并。 A.动态规划 B.贪心 C.分治 D.搜索

NOIP2012-18. 在程序运行过程中,如果递归调用的层数过多,会因为( )引发错误。

A.系统分配的栈空间溢出 B. 系统分配的堆空间溢出 C.系统分配的队列空间溢出 D. 系统分配的链表空间溢出

NOIP2013-3. 下面的故事与( )算法有着异曲同工之妙。

从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:?从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事?....” A.枚举 B.递归 C.贪心 D.分治

NOIP2013-14. ( )的平均时间复杂度为O(n log n),其中 n 是待排序的元素个数。

A.快速排序 B.插入排序 C.冒泡排序 D.基数排序

NOIP2014-18. 设有100个数据元素,采用折半搜索时,最大比较次数为( )。 A. 6 B.7 C. 8 D. 10

NOIP2015-19. 设某算法的计算时间表示为递推关系式 T(n)=T(n-1)+n(n为正整数)及T(0)=1,则该算法的时间复杂度为( )。 A.O(logn) B.O(nlogn) C.O(n) D.O(n2)

NOIP2016-16. 有 7 个一模一样的苹果,放到 3 个一样的盘子中,一共有( )种放法。

A. 7 B.8 C. 21 D. 37

NOIP2016-19. 周末小明和爸爸妈妈三个人一起想动手做三道菜。小明负责洗菜、爸爸负责切菜、妈妈负责炒菜。假设做每道菜的顺序都是:先洗菜 10 分钟,然后切菜 10分钟,最后炒菜 10 分钟。那么做一道菜需要 30 分钟。注意: