试卷 2023年12月GESP认证Python等级考试(六级)真题试卷
2023年12月GESP认证Python等级考试(六级)真题试卷
单选题
第 1 题    单选题

通讯卫星在通信⽹络系统中主要起到(   )的作⽤。

A.

信息过滤

B.

信号中继

C.

避免攻击

D.

数据加密

第 2 题    单选题

⼩杨想编写⼀个判断任意输⼊的整数N是否为素数的程序,下⾯哪个⽅法不合适?()

A.

埃⽒筛法

B.

线性筛法

C.

⼆分答案

D.

枚举法

第 3 题    单选题

内排序有不同的类别,下⾯哪种排序算法和冒泡排序是同⼀类?()

A.

希尔排序

B.

快速排序

C.

堆排序

D.

插⼊排序

第 4 题    单选题

关于Python类和对象的说法,错误的是(  )。

A.

在Python中,⼀切皆对象,即便是字⾯量如整数5等也是对象

B.

在Python中,可以⾃定义新的类,并实例化为新的对象

C.

在Python中,内置函数和⾃定义函数,都是类或者对象

D.

在Python中,不可以在⾃定义函数中嵌套定义新的函数

第 5 题    单选题

有关下⾯Python代码的说法,正确的是(   )

A.

第17⾏代码执⾏后将报错,因为Rect类没有定义in运算符

B.

第16⾏代码将Point对象作为参数,将导致错误

C.

in是成员运算符,不适⽤于Rect类

D.

由于Rect类定义了__contains__魔术⽅法,因此第17⾏代码能正确执⾏

第 6 题    单选题

有关下⾯Python代码的说法,正确的是(   )。

A.

第8⾏代码错误,第9⾏正确

B.

第9⾏代码错误,第8⾏代码正确

C.

第8、9两⾏代码都正确

D.

第4⾏代码可修改为objCounter += 1

第 7 题    单选题

有关下⾯Python代码的说法,错误的是(   )。

A.

上列Python代码适⽤于构造各种⼆叉树

B.

代码Root = biTree(biTreeNode(5))构造⼆叉树的根节点

C.

代码Root = biTree( )可以构造空⼆叉树,此时Root对象的root属性值为None

D.

代码Root = biTree(biTreeNode( ))可以构造空⼆叉树,此时Root对象的root属性为Node

第 8 题    单选题

基于上题类的定义,有关下⾯Python代码的说法错误的是(     )。

A.

代码中Search( )函数如果查找到查找值的节点,则返回该节点的对象

B.

代码中Search( )函数先搜索左⼦树,如果搜索不到指定值,则搜索右⼦树

C.

代码中Search( )函数采⽤递归⽅式实现⼆叉树节点的搜索

D.

代码中Search( )函数采⽤动态规划⽅法实现⼆叉树节点的搜索

第 9 题    单选题

有关下⾯Python代码的说法正确的是(     )。

A.

上述代码构成单向链表

B.

上述代码构成双向链表

C.

上述代码构成循环链表

D.

上述代码构成指针链表

第 10 题    单选题

对hello world 使⽤霍夫曼编码(Huffman Coding),最少bit(⽐特)为(      )。

A.

4

B.

32

C.

64

D.

88

第 11 题    单选题

下⾯的fiboA( )和fiboB( )两个函数分别实现斐波那契数列,该数列第1、第2项值为1,其余各项分别 为前两项之和。下⾯有关说法错误的是()。

A.

fiboA( )采⽤递归⽅式实现斐波那契数列

B.

fiboB( )采⽤动态规划算法实现斐波那契数列

C.

当N值较⼤时,fiboA( )存在⼤量重复计算

D.

由于fiboA( )代码较短,其执⾏效率较⾼

第 12 题    单选题

有关下⾯Python代码不正确的说法是(     )。

A.

该代码可⽤于求解⼆叉树的深度

B.

代码中函数getDepth( )的参数root表⽰根节点,⾮根节点不可以作为参数

C.

代码中函数getDepth( )采⽤了递归⽅法

D.

代码中函数getDepth( )可⽤于求解各种形式的⼆叉树深度,要求该⼆叉树节点⾄少有left和right属 性

第 13 题    单选题

下⾯有关Python中in运算符的时间复杂度的说法,错误的是()。

A.

当in运算符作⽤于dict时,其时间复杂度为O(1)

B.

当in运算符作⽤于set时,其时间复杂度为O(1)

C.

当in运算符作⽤于list时,其时间复杂度为O(N)

D.

当in运算符作⽤于str时,其时间复杂度为O(1)

第 14 题    单选题

下⾯有关树的存储,错误的是(     )

A.

完全⼆叉树可以⽤list存储

B.

⼀般⼆叉树都可以⽤list存储,空⼦树位置可以⽤None表⽰

C.

满⼆叉树可以⽤list存储

D.

树数据结构,都可以⽤list存储

第 15 题    单选题

下⾯有关bool()函数的说法,正确的是()。

A.

如果⾃定义类中没有定义魔术⽅法__bool__( ),将不能对该类的对象使⽤bool( )函数

B.

如果⾃定义类中没有定义魔术⽅法__bool__( ),将查找有⽆魔术⽅法__len__( )函数,如果有 __len__( )则按__len__()的值进⾏处理,如果该值为0则返回False,否则True,如果没有__len__(),则返回值为True

C.

bool( )函数如果没有参数,返回值为False

D.

表达式bool(int)的值为False

判断题
第 16 题    判断题

Python虽然不支持指针和引用语法,但变量的本质是数据的引用(reference),因此可以实现各种C/C++数 据结构。在下面Python代码中,由于删除了变量a,因此a所对应的数据也随之删除,故第4行代码被执行时,将报 错。( )

A.
正确
B.
错误
第 17 题    判断题

二叉搜索树可以是空树(没有任何节点)或者单节点树(只有一个节点),或者多节点。如果是多节点, 则左节点的值小于父节点的值,右节点的值大于父节点的值,由此推理,右节点树的值都大于根节点的值,左节点 树的值都小于根节点的值。( )

A.
正确
B.
错误
第 18 题    判断题

二叉搜索树查找的平均时间复杂度为 O log(N) 。( )

A.
正确
B.
错误
第 19 题    判断题

哈夫曼编码(Huffman Coding)具有唯一性,因此有确定的压缩率。 ( )

A.
正确
B.
错误
第 20 题    判断题

深度优先搜索(DFS,Depth First Search的简写)属于图算法,其过程是对每一个可能的分支路径深入到不 能再深入为止,而且每个节点只能访问一次。( )

A.
正确
B.
错误
第 21 题    判断题

如果某个Python对象(object)支持下标运算符(方括号运算符),则该对象在所对应class中定义了名为 __getitem__ 的魔术方法。( )

A.
正确
B.
错误
第 22 题    判断题

在下面的Python代码被执行将报错,因为newClass没有 __init__( ) 魔术方法。( )

A.
正确
B.
错误
第 23 题    判断题

在面向对象中,方法(Event)在Python的class中表现为class内定义的函数。( )

A.
正确
B.
错误
第 24 题    判断题

小杨想写一个程序来算出正整数N有多少个因数,经过思考他写出了一个重复没有超过N/2次的循环就能够算 出来了。( )

A.
正确
B.
错误
第 25 题    判断题

同样的整数序列分别保存在单链表和双向链中,这两种链表上的简单冒泡排序的复杂度相同。( )

A.
正确
B.
错误
编程题
第 26 题    问答题

试题名称:闯关游戏

你来到了⼀个闯关游戏。

这个游戏总共有    N   关,每关都有   M   个通道,你需要选择⼀个通道并通往后续关卡。其中,第 i个通道可以让你前 进  ai   关,

也就是说,如果你现在在第  x   关,那么选择第 i 个通道后,你将直接来到第     x+   ai   关(特别地,如果x+   ai >=N,那么你就通关了)。

此外,当你顺利离开第   s  关时,你还将获得   bs   分。

游戏开始时,你在第  0 关。请问,你通关时最多能获得多少总分?

 输入描述

第⼀⾏两个整数   N,M  ,分别表⽰关卡数量和每关的通道数量。

接下来⼀⾏    M   个⽤单个空格隔开的整数        。保证       。

接下来⼀⾏    N   个⽤单个空格隔开的整数          。保证    。

输出描述

⼀⾏⼀个整数,表⽰你通关时最多能够获得的分数。

特别提醒 

在常规程序中,输⼊、输出时提供提⽰是好习惯。但在本场考试中,由于系统限定,请不要在输⼊、输出中附带任 何提⽰信息。

样例输入1

6 2 

2 3

1 0 30 100 30 30

样例输出1

131

3.1.7     样例解释1

你可以在第  0   关选择第   1  个通道,获得  1   分并来到第  3   关;随后再选择第 0    个通道,获得   100      分并来到第  5   关;

最 后任选⼀个通道,都可以获得   30    分并通关。如此,总得分为    1+100+30=131       。

样例输入2

6 2 

2 3

1 0 30 100 30 -1

样例输出2

101

样例解释2 

请注意,⼀些关卡的得分可能是负数。

第 27 题    问答题

试题名称:⼯作沟通

某公司有 N 名员⼯,编号从 0   ⾄   N-1  。其中,除了 0  号员⼯是⽼板,其余每名员⼯都有⼀个直接领导。我们假设 编号为 i 的员⼯的直接领导是  fi   。

该公司有严格的管理制度,每位员⼯只能受到本⼈或本⼈直接领导或间接领导的管理。具体来说,规定员⼯   x  可以 管理员⼯y,

当且仅当            x=y,或   x=fy           ,或  x   可以管理 fy     。特别地,0号员⼯⽼板只能⾃我管理,⽆法由其他任何 员⼯管理。

现在,有⼀些同事要开展合作,他们希望找到⼀位同事来主持这场合作,这位同事必须能够管理参与合作的所有同 事。

如果有多名满⾜这⼀条件的员⼯,他们希望找到编号最⼤的员⼯。你能帮帮他们吗?

3.2.2     输入描述

第⼀⾏⼀个整数  N    ,表⽰员⼯的数量。

第⼆⾏     N-1   个⽤空格隔开的正整数,依次为   。

第三⾏⼀个整数 Q    ,表⽰共有  Q    场合作需要安排。

接下来  Q    ⾏,每⾏描述⼀场合作:开头是⼀个整数   ,表⽰参与本次合作的员⼯数量;接着是 m 个整数,

依次表⽰参与本次合作的员⼯编号(保证编号合法且不重复)。

保证公司结构合法,即不存在任意⼀名员⼯,其本⼈是⾃⼰的直接或间接领导。

输出描述 

输出  Q    ⾏,每⾏⼀个整数,依次为每场合作的主持⼈选。

特别提醒

在常规程序中,输⼊、输出时提供提⽰是好习惯。但在本场考试中,由于系统限定,请不要在输⼊、输出中附带任 何提⽰信息。

样例输入1

5

0 0 2 2 

3

2 3 4

3 2 3 4

2 1 4

样例输出1

0

样例解释1

对于第⼀场合作,员⼯  3,4 有共同领导2,可以主持合作。 

对于第⼆场合作,员⼯2本人即可以管理所有参与者。

对于第三场合作,只有0号老板才能管理所有员工。

答题卡
单选题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
判断题
编程题
26 27
题目总数:27
总分数:100
时间:120分钟
QQ
微信