2023年12月GESP认证Python等级考试(六级)真题试卷
剩余时间 --:--:--
单选题 共 15 题
1.

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

2.

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

3.

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

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

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

6.

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

7.

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

8.

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

9.

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

10.

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

11.

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

12.

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

13.

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

14.

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

15.

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

判断题 共 10 题
1.

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

2.

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

3.

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

4.

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

5.

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

6.

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

7.

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

8.

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

9.

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


10.

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

问答题 共 2 题
1.

试题名称:闯关游戏

你来到了⼀个闯关游戏。

 

这个游戏总共有    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 

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

2.

试题名称:⼯作沟通

某公司有 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

2 
2 
0


样例解1

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

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

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

C++ 编辑器
输入
输出