信息学奥赛初赛天天练-58-NOIP2018普及组-基础题2-冒泡排序、插入排序、堆排序、基数排序、递归、连通图、自环、平行边
信息学奥赛初赛天天练-58-NOIP2018普及组-基础题2-冒泡排序、插入排序、堆排序、基数排序、递归、连通图、自环、平行边
PDF文档公众号回复关键字:20240807
![](https://img2022.cnblogs.com/blog/404484/202211/404484-20221123185906168-1425738362.png)
NOIP2018 普及组 基础题2
单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项)
5 中国计算机学会于( )年创办全国青少年计算机程序设计竞赛。
A 1983
B 1984
C 1985
D 1986
6 如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照 CapsLock、 字母键 A、字母键 S、字母键 D、字母键 F 的顺序循环按键,即 CapsLock、A、S、D、F、CapsLock、A、S、D、F、……,屏幕上输出的第 81 个字符是字母 ( )
A A
B S
C D
D a
8 以下排序算法中,不需要进行关键字比较操作的算法是( )。
A 基数排序
B 冒泡排序
C 堆排序
D 直接插入排序
10 下面的故事与( )算法有着异曲同工之妙。
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事……’”
A 枚举
B 递归
C 贪心
D 分治
11 由四个没有区别的点构成的简单无向连通图的个数是( )
A 6
B 7
C 8
D 9
2 相关知识点
1) 排序
冒泡排序
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端
n个元素的冒泡排序,需要n趟完成,
每趟进行逐一两两比较,进行n-1次比较,把最大(最小)元素比较出来,交换到最后
堆排序
堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,排序过程比较元素大小构建堆
堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆
插入排序
插入排序(InsertionSort),一般也被称为直接插入排序
插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增 1 的有序表,插入过程中逐一比较元素的大小
基数排序
基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用
一般使用数组下标的顺序进行排序,不属于比较排序
2) 递归
一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数
执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函数执行完毕后,再一层一层地由里到外退出
3) 连通性
如果任意两点间存在路径,此图具有连通性
4) 连通图
连通图是指在一个无向图中,任意两个顶点之间都存在一条路径,使得它们相互可达
5) 特殊图
自环
即一条连接一个顶点和其自身的边
平行边
连接同一对顶点的两条边
6) 简单无向连通图
一个连通图,没用自环,没有平行边的无向图,如下4个图,均为简单无向连通图
3 思路分析
5 中国计算机学会于( B )年创办全国青少年计算机程序设计竞赛
A 1983
B 1984
C 1985
D 1986
6 如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照 CapsLock、 字母键 A、字母键 S、字母键 D、字母键 F 的顺序循环按键,即 CapsLock、A、S、D、F、CapsLock、A、S、D、F、……,屏幕上输出的第 81 个字符是字母 ( A )
A A
B S
C D
D a
分析
根据题意可知,屏幕输出字符
ASDFasdf...
按4个1组,1组大写,2组小写,3组大写,4组小写...
每奇数组为大写,每偶数组为小写
⌈81/4⌉=21 ,为奇数,所以为大写字母,是大写字母的第1个,所以为A
8 以下排序算法中,不需要进行关键字比较操作的算法是( A )
A 基数排序
B 冒泡排序
C 堆排序
D 直接插入排序
分析
基数排序,属于“分配式排序”,是桶排序的思想,不需要关键字比较
冒泡排序、插入排序、堆排序,在排序过程中,都需要根据关键字的大小比较而决定前后顺序
10 下面的故事与( B )算法有着异曲同工之妙。
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事……’”
A 枚举
B 递归
C 贪心
D 分治
分析
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:
‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事……’
讲的故事和本身内容一致,可以看作自己讲自己的故事
和递归算法,递归算法为自己调用自己类似
11 由四个没有区别的点构成的简单无向连通图的个数是( A )
A 6
B 7
C 8
D 9
简单无向连通图:连通,无自环,无平行边
3条边 - 2种
4条边 - 2种
5条边 - 1种
6条边 - 1种
作者:newcode 更多资源请关注纽扣编程微信公众号
从事机器人比赛、机器人等级考试、少儿scratch编程、信息学奥赛等研究学习