小杨用单链表保存任务序列,并同时维护头指针 和尾指针 。在链表非空且已知 的情况 下,在表尾插入新结点的时间复杂度是( )。


小杨用单链表保存任务序列,并同时维护头指针 和尾指针 。在链表非空且已知 的情况 下,在表尾插入新结点的时间复杂度是( )。


在不带哨兵结点的双向链表中,结点 既不是头结点也不是尾结点。删除 的正确代码是( )。

下面函数使用快慢指针查找单链表的中间结点。横线处应填写( )。

fast = fast->next;
函数 定义如下,则 的结果是( )。

3
下面函数用于判断正整数 是否为质数。横线处的最佳写法是( )。

i < n
下面代码实现线性筛法。为了保证每个合数只被其最小质因子筛去一次,横线处应填写( )。

p % i == 0
根据唯一分解定理,整数
的正确质因数分解是( )。
函数 定义如下,则 的结果是( )。

4
在升序数组中查找第一个严格大于 的元素位置,下面代码中的横线应填写( )。

a[mid] < x
小杨需要把若干箱货物按原顺序分配到 天中,每天运输连续的若干箱,求能够完成任务的最小载重
check(cap)
cap 量。函数 判断载重量为 时能否在规定天数内运完。横线处应填写( )。

l = mid + 1;
r = mid;
下面是归并排序中合并两个有序区间(升序排序)的部分代码。若希望排序保持稳定,横线处应填写 ( )。

a[i] < a[j]
下面快速排序的划分函数以 为枢轴,并把不大于枢轴的元素移动到左侧。横线处应填写 ( )。

a[j] <= pivot
小杨要在一个教室安排尽可能多场活动,每场活动具有开始时间 和结束时间 。采用贪心算法 时,正确的选择策略是( )。

下面函数使用迭代方法求最大连续子段和。对于数组 ,函数返回值是 ( )。

5
数组 和 按低位在前的顺序保存两个非负大整数。下面代码实现高精度加法,横线处应填写 ( )。

carry = sum % 10;
下面代码在已知结点 的情况下,能够以 的时间在单链表的 结点之后插入新结点 。

head
下面代码可以安全地删除单链表的头结点,并使 指向删除后的新头结点。

a > b
a < b
a
b
下面欧几里得算法既适用于 ,也适用于 ,只要 、 是正整数。

i * i
i * i
i
下面埃氏筛从 开始标记,是因为 之前的 的合数倍数已经被更小的质因子标记过。

下面程序的时间复杂度为
。

a
x
若数组 已按升序排列,下面函数能够返回最后一个小于等于 的元素下标;如果不存在,则返回
-1 。

快速排序中如果选取区间第一个元素作为枢轴。当输入数组已经升序排列时,其最坏时间复杂度仍为
。
归并排序的递推式为
,对应的时间复杂度为
。
coins
money
下面的贪心代码一定能对任意硬币面值集合 求出 所需的最少硬币数。

a
b
假设两个非负高精度整数分别存储在数组 和 中,且
。数组采用低位在前的方式存储,即
a[0]
c
a - b 表示个位。下面代码中的 可以正确保存 的各位数字。

分,共 分) 3 25 50 1
哥德巴赫猜想
以下为官方试卷题面(与 PDF 一致)

饮品调制
以下为官方试卷题面(与 PDF 一致)


可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
Ctrl / ⌘ + ZCtrl / ⌘ + YCtrl / ⌘ + FCtrl / ⌘ + ACtrl / ⌘ + CCtrl / ⌘ + XCtrl / ⌘ + V工具栏排版按钮编辑时自动保存到本机历史
提交记录AI
作答助手确定要清空代码吗?
确定退出考试模式吗?当前作答进度会暂存在本机会话中,下次可继续。
正在处理答卷,请稍候…