欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

2023年 12月 GESP C++ 五级真题解析 判断题

时间:2024-05-21 11:33 作者:lizq 点击:
二、判断题(每题 2 分,共 20 分) 1、归并排序的时间复杂度是 O(N logN) 。( ) 【答案】正确 【考纲知识点】排序算法知识 【解析】本题考察排序算法知识。归并排序算法的时间复杂度

二、判断题(每题 2 分,共 20 分)
1、归并排序的时间复杂度是 O(N logN) 。( )
【答案】正确
【考纲知识点】排序算法知识
【解析】本题考察排序算法知识。归并排序算法的时间复杂度的描述正确。

2、⼩杨在⽣⽇聚会时拿⼀块 H*W 的巧克⼒招待来的 K 个⼩朋友,保证每位⼩朋友⾄少能获得⼀块相同⼤⼩的巧克⼒ 。那么⼩杨想分出来最⼤边长的巧克⼒可以使⽤二分法。 ( )
【答案】错误
【考纲知识点】算法知识
【解析】因为考纲中对二分法同时列出了“二分查找”和“二分答案(或二分枚举)”。


3、以下 C++代码能以递归⽅式实现斐波那契数列 ,该数列第1 、2 项为1,以后各项均是前两项之和 。( )

int Fibo(int N){
	if (N==1 || N==2){
		return 1;
	}
	else{
		int m = fiboA(N-1);
		int n = fiboB(N-2);
		return m+n;
	}
}

【答案】错误
【考纲知识点】算法知识
【解析】本题考察递归算法知识。递归函数要调用自己。

4、贪⼼算法可以达到局部最优 ,但可能不是全局最优解。( )
【答案】正确
【考纲知识点】算法知识
【解析】本题考察贪心算法知识。贪心是局部达到最优。

5、⼩杨设计了⼀个拆数程序,它能够将任意的⾮质数⾃然数N 转换成若⼲个质数的乘积,这个程序是可以设计出来的。 ( )
【答案】正确
【考纲知识点】数学知识
【解析】本题考察数学知识。素数分解定理规定:任何一个整数都可以被分解为一系列因子的乘积,乘积中所有的因子都是质数(即素数)。(更严谨一点:大于1的整数)


6、插⼊排序有时⽐快速排序时间复杂度更低 。 ( )
【答案】正确
【考纲知识点】排序知识
【解析】本题考察排序算法知识。当数据初始有序时,插入排序的最快时间复杂度是 O(n),快排最坏时间复杂度是 O(N2)。


7、下⾯的 C++代码能实现⼗进制正整数 N 转换为⼋进制并输出。( )

char s[10];
int main(){
	int N;
	cin>>N;
	string rst = "";
	while (N != 0){
		s[0] = N % 8 + '0';
		rst += string(s);
		N /= 8;
	}
	cout<< rst << endl;
	return 0;
}

【答案】错误
【考纲知识点】计算机基础知识
【解析】本题考察进制转换知识。转换后的内容要倒序输出并以0 开头。

8、对数组 int arr[]={2, 6, 3, 5, 4, 8, 1, 0, 9, 10}执⾏ sort(arr, arr+10),则执⾏后arr 中的数据调整为 {0, 1, 2, 3, 4, 5, 6, 8,9, 10}( )
【答案】正确
【考纲知识点】排序知识
【解析】本题考察排序算法知识。sort 默认是从小到大排序。

9、⼩杨想写⼀个程序来算出正整数 N 有多少个因数,经过思考他写出了⼀个重复没有超过 N/2 次的循环就能够算 出来了( )
【答案】正确
【考纲知识点】数学知识
【解析】本题考察数学知识。可以循环 N 的一半找到所有因数。

10、同样的整数序列分别保存在单链表和双向链中 ,这两种链表上的简单冒泡排序的复杂度相同。 ( )
【答案】正确
【考纲知识点】排序算法知识
【解析】本题考察排序算法知识。冒泡排序,相邻的数据交换,而且修改节点链的操作不会改变复杂度。

(责任编辑:lizq)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%