一.单选题(每题2分,共30分)
GESP活动期间, 举办⽅从获胜者ABCDE五个⼈中选出三个⼈排成⼀队升国旗, 其中A不能排在队⾸, 请问
有多少种排法? 7 进制数 235 转换成 3 进制数是 ( )。0,1,2,3,4,5 这些数字组成⼀个三位数, 请问没有重复数字的情况下, 有多少种组法 V 个顶点、 E 条边的图的深度优先搜索遍历时间复杂度为 O(V)O(E)O(E+V)O(log(V+E))下面有关说法,错误的是
100.001 转换成⼗进制数是 ( )。4.25
4.125
void BubbleSort(char a[][], int n);void BubbleSort(char a[][20], int n); void BubbleSort(char a[10][], int n); void BubbleSort(char[,] a, int n);Ø(n) 。 下⾯说法错误的是 Ø(n) =n-1 10 个节点, 则其中⾄多有( ) 个节点有 2 个⼦节点。 。
```cpp
bool notPrime[N] = {false};
void sieve() {
for (int n = 2; n * n < N; n++)
if (!notPrime[n])
for (int i = n * n; i < N; i += n)
notPrime[i] = true;
}
int gcd(int m, int n) {
if (m == 0)
return n;
return gcd(n % m, m);
}
下⾯程序的输出为
#include <iostream>
using namespace std;
int main() {
int cnt = 0;
for (int x = 0; x <= 10; x++)
for (int y = 0; y <= 10; y++)
for (int z = 0; z <= 10; z++)
if (x + y + z <= 15)
cnt++;
cout << cnt << endl;
return 0;
}
二.判断题(每题2分,共20分)
ABCDE五个⼩朋友, 排成⼀队跑步, 其中AB两⼈必须排在⼀起, ⼀共有 48 种排法。 double 类型的变量 a 和 b , 则执⾏语句 a = a + b; b = a - b; a = a - b; 后, 变量 a 和 b 的值会互换。 一个袋⼦中有 3 个完全相同的红⾊⼩球、 2 个完全相同的蓝⾊⼩球。 每次从中取出 1 个, 再放回袋⼦, 这样进⾏ 3 次后, 可能的颜⾊顺序有 8 种。
int 类型的变量 a 和 b 中分别存储着⼀个直角三角形的两条直角边的长度, 则斜边的长度可以通过表达式 sqrt(a * a + b * b) 求得。 在⼀个包含 v 个顶点、 e 条边的带权连通简单有向图上使⽤Dijkstra算法求最短路径, 时间复杂度为O(v^{2}),可进⼀步优化⾄O(e+vlog(v))
正确
错误
在N个元素的⼆叉排序树中查找⼀个元素, 最差情况的时间复杂度是O(logN)
使⽤单链表和使⽤双向链表, 查找元素的时间复杂度相同。
正确
错误
无
GESP真题