GESP2024
年
6月认证Python五级
一、单选题(每题2分,共30分)
题号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
答案
D
B
A
C
B
D
C
D
A
D
D
B
C
B
C
1
、在
Python
中,
print((c for c in "GESP"))
的输出是( )。
A. ('G', 'E', 'S', 'P')
B. ['G', 'E', 'S', 'P']
C. {'G', 'E', 'S', 'P'}
D.
以上选项均不正确
答案:
D
解析:在
Python
中,表达式
print((c for c in "GESP"))
的输出是一个生成器对象,而不是元组、列表或集合。生成器对象在被打印时会输出其表示形式,即
<generator object>
,而不是生成器中的元素。所以,正确的答案是:
D.
以上选项均不正确,因为生成器对象本身不会输出其中的元素,而是输出生成器对象的描述信息。
2
、下面有关快速排序的说法,错误的是
( )
。
A.
快速排序算法通常采用递归实现。
B.
快速排序算法是一种稳定排序算法。
C.
如果被排序数组或者
list
已排序或逆序,其时间复杂度是
O(N²)
。
D.
快速排序是一种原地
(in-place)
排序算法。
答案:
B
解析:
A
.正确。快速排序通常通过递归将数组分割成子数组来实现。
B.
错误。快速排序是一种不稳定排序算法。在排序过程中,相同元素的相对位置可能会改变。
C.
正确。最坏情况下,如果数组已经有序或者逆序,快速排序的时间复杂度可能达到
O(N²)
,尤其是当选择的基准元素不合适时。
D.
正确。快速排序通过交换数组中的元素来排序,不需要额外的空间,因此是一种原地排序算法。
因此,选项
B
错误,快速排序算法不是稳定排序算法。
3
、内排序有不同的类别,从排序算法的实现思路上考虑,下面哪种排序算法和插入排序是同一类?( )
A.
希尔排序
B.
快速排序
C.
堆排序
D.
冒泡排序
答案:
A
解析:从排序算法的实现思路上来看,插入排序与希尔排序属于同一类别,因为它们都是通过逐步构建有序序列来完成排序的。具体解释如下:插入排序:逐步将未排序的元素插入到已排序的部分,直到整个序列有序。希尔排序:是插入排序的改进版本,通过将序列分成若干个子序列进行插入排序,逐步缩小子序列的间隔,最终完成排序。
因此,正确答案是:
A.
希尔排序
4
、下面
Python
代码用于求斐波那契数列,该数列第
1
、
2
项为
1
,以后各项均是前两项之和。函数
Fibo()
属于
( )
A.
枚举算法
B.
贪心算法
C.
迭代算法
D.
递归算法
答案:
C
解析:
递归算法:递归算法通常是指函数调用自身来解决问题。虽然斐波那契数列可以使用递归实现,但是该代码中并没有直
2024年6月GESP认证Python编程五级真题及答案解析