100 #2008. 初赛营3_算法基础
初赛营3_算法基础
- 以下排序算法中,( )的时间复杂度为 O(n log n),其中 n 是待排序的元素个数? {{ select(1) }}
- 冒泡排序
- 插入排序
- 归并排序
- 选择排序
- 已知 2022 年 10 月 1 日是星期六,则 1997 年 10 月 1 日是星期几? {{ select(2) }}
- 星期二
- 星期三
- 星期五
- 星期六
- 有一台计算机使用选择排序对200个数字排序花了100ms,如果花费400ms,大概能对多少个数字进行排序? {{ select(3) }}
- 400
- 800
- 1600
- 3200
- 下列代码段对应的输出结果是?
int cnt = 0, a[5] = {5, 3, 2, 4, 1};
for (int i = 1; i < 5; i++) {
for (int j = 0; j < 5-i; j++) {
if (a[j] > a[j+1]) {
cnt++;
int t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
cout << cnt;
{{ select(4) }}
- 4
- 6
- 8
- 10
- 禾木有 5 枚相同的 1 元硬币, 2 枚相同的 2 元硬币,3 枚相同的 5 元硬币,他要用这些硬币凑够恰好 10 元,一共有多少种不同的方案? {{ select(5) }}
- 2
- 3
- 4
- 5
- 小猴子每天吃一半多2根香蕉,吃了5天后发现还剩下3根香蕉,则5天前有( )根香蕉? {{ select(6) }}
- 108
- 110
- 216
- 220
- 禾木要从地面上走到第10级台阶,每一步,禾木可以向上跨1级、2级或3级台阶,则禾木从地面上跨到10级台阶上一共有( )种不同的方案? {{ select(7) }}
- 149
- 274
- 432
- 504
- 若采用二分查找算法在一个顺序表中查找到元素33时一共比较了5次,则该顺序表中的元素至少有( )个 {{ select(8) }}
- 16
- 17
- 31
- 32
- 下列程序段的输出结果是( )?
int a[10] = {1, 4, 5, 8, 9, 11, 13, 18, 22, 37}, x = 20;
int l = 0, r = 9;
while (l < r) {
int mid = (l + r + 1) / 2;
if (a[mid] * a[mid] <= x)
l = mid;
else
r = mid-1;
}
cout << a[l];
{{ select(9) }}
- 4
- 8
- 9
- 18
- 已知一个图的DFS序为 a, b, c, d, e, f,则下列说法中正确的是? {{ select(10) }}
- 存在一条边连接顶点 a 和 b
- 存在一条边连接顶点 b 和 c
- 存在一条边连接顶点 c 和 d
- 不存在一条连接顶点 b 和 d 的边
统计
相关
在下列比赛中: