青少年软件编程(Python)等级考试(四级)模拟测试 建议答题时长:60min
1. 单选题

若 A, B, C, D, E 这 5 个元素依次顺序进栈,则下列不会出现的出栈顺序是( )。

A

E, A, B, C, D

B

A, B, C, D, E

C

B, C, D, E, A

D

E, D, C, B, A

2. 单选题

对于顺序存储的栈和队列,进行插入运算的时间复杂度为( )。

A

B

C

D

3. 单选题

下列属于分类算法的是( )。

A

K-Means算法

B

DBSCAN算法

C

贝叶斯算法

D

Koch曲线递归算

4. 单选题

以下步骤描述的分形方式是( )。

步骤 1:把闭区间平均分为三段,去掉中间的 1/3 部分段,留下剩余两个闭区间;

步骤 2:将剩下的两个闭区间各自平均分为三段,同样去掉中间的区间段,这时剩下四段闭区间;

步骤 3:重复删除每个小区间中间的 1/3 段,迭代至区间无穷小。

A

Koch 曲线

B

谢尔宾斯基三角形

C

牛顿迭代

D

康托尔三分集

5. 单选题

下列满足短任务优先且不会发生饥饿现象的调度算法是( )。

A

先来先服务

B

高响应比优先

C

时间片轮转

D

非抢占式短任务优先

6. 单选题

下方排序算法的时间复杂度为( )。

x = 0

y = 1

for i in range(n):

     x += i

     for j in range(n):

           y *= j

A

B

C

D

7. 单选题

下方代码段采取的排序方法是( )。

A

快速排序

B

冒泡排序

C

选择排序

D

插入排序

8. 单选题

下方代码段通过插入排序的方法完成排序,空白处应补充的代码是(

def insertion_sort(arr):

     for i in range(1, len(arr)):

         current = arr[i]

         pre_index = i - 1

         whilepre_index >= 0 and arr[pre_index] > current:

                 _________________________________

                 pre_index -= 1

         arr[pre_index + 1] = current

     return arr

A

arr[pre_index] = arr[pre_index+1]

B

arr[i] = arr[i+1]

C

arr[pre_index+1] = arr[pre_index]

D

arr[i+1] = arr[i]

9. 单选题

运行下方代码段,输出的结果是( )。

def isPrefixOfWord(sentence,searchWord):

         l = sentence.split()

         for i in range(len(l)):

                 if l[i][:len(searchWord)]==searchWord:

                         return i + 1

         return -1

sentence = "Python is the best computer language!"

searchWord = "comput"

i = isPrefixOfWord(sentence, searchWord)

print(i)

A

-1

B

i+1

C

5

D

6

10. 单选题

使用迪杰斯特拉(Dijkstra)算法,求图中从顶点 1 到其他各顶点的最短路径,得到各最短路径的目标顶点依次是( )。

A

5,2,6,3,4

B

5,2,3,6,4

C

5,2,4,3,6

D

5,2,3,4,6

11. 单选题

使用冒泡排序将序列 3,4,1,11,15,7,4 升序排列,需要交换( )。

A

2 次

B

3 次

C

5 次

D

6 次

12. 单选题

下列路径算法中,属于贪心算法的是( )。

A

迪杰斯特拉(Dijkstra)算法

B

深度优先搜索算法

C

弗洛伊德(Floyd)算法

D

广度优先搜索算法

13. 单选题

运行下方代码段,输出的结果是( )。

A

7

B

6

C

4

D

3

14. 单选题

使用选择排序将序列 3,7,14,1,18,5,8,9 升序排列,需要交换(    )。

A

3 次

B

4 次

C

6 次

D

10 次

15. 单选题

运行下方代码段,输出的结果最接近( )。

A

π/4

B

π/2

C

π

D

16. 单选题

下列有关常见数据结构的叙述中,正确的有( )。

A

栈由系统自动分配存储空间,堆由人为申请开辟空间

B

栈申请空间的效率较低,堆的申请效率较高

C

栈只允许在栈顶插入和删除元素,堆可以随意存取

D

队列只允许在前段进行删除操作,在后端进行插入操作

17. 单选题

下列对 Python 第三方库 sklearn 的叙述中,正确的有( )。

A

sklearn 库中封装了大量的机器学习算法

B

sklearn 库中 linear_model 是广义的线形模型

C

sklearn 库中决策树模型是 sklearn.naive_bayes

D

from sklearn.linear_model import LogisticRefression 可以导入线形回归函数

18. 单选题

下列有关预测算法的叙述中,属于线性回归模型的优势有( )。

A

模型简单易解释

B

系数大小易理解

C

对于非线性关系易捕捉

D

更好的分析数据之间的相互影响

19. 单选题

下列排序算法中,基于比较的算法有( )。

A

堆排序

B

冒泡排序

C

桶排序

D

希尔排序

20. 单选题

下列对于聚类算法的叙述中,正确的有( )。

A

聚类分析是给定划分类别的情况下,根据类别进行样本分组的方法

B

与传统分群方法相比聚类方法可以发现之前未知的特征因素

C

K-means 是常见的聚类方法,速度快,效率高

D

与传统分群方法相比聚类方法能对新的数据快速复制应用

21. 编程题

从字符串中找出一个最长的不包含重复字符的子字符串,并计算该子字符串的长度。

例:

输 入1:abcabcbb

输 出1:3

输 入2:bbbbb

输 出2:1

查看答案
22. 编程题

通过二分查找法查找有序列表 [1, 6, 9, 15, 26, 38, 49, 57, 63, 77, 81, 93] 中的数字位置。当输入的数字不存在于列表中时,输出 FALSE。

注:列表的第一个元素是第 0 个。

例:

输 入:1  输出: 0

输入:50 输出: FALSE

查看答案
23. 编程题

通过冒泡排序将列表按从小到大的顺序排列并输出,同时输出该列表的中位数。

例:

输入: 

[3,5,2,8,1,7] 

输出:

[1,2,3,5,7,8] 

查看答案
试题目录
单选题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
编程题
21 22 23
赣ICP备20007335号-2