PROBLEM SET
时间复杂度
按知识点筛选题目,系统巩固该考点。
题目列表
共 219 题
A67431
下面 search 函数的平均时间复杂度为( )。int search(int n, int * p, int target) {
2025年
--
--
A67430
下面C++程序的时间复杂度为( )。int primes[MAXP], num = 0;
2025年
--
--
A67420
下面 count_triple 函数的时间复杂度为( )。int gcd(int a, int b) {
2025年
--
--
A67417
下面 LIS 函数试图求出最长上升子序列的长度,其时间复杂度为( )。#define INT_MIN (-1000)
2025年
--
--
A67413
对 n 个元素的数组进行归并排序,最差情况的时间复杂度为 O(n log n)。
2025年
--
--
A67407
有 V 个顶点、 条边的图的深度优先搜索遍历时间复杂度为 O(V+E) 。
2025年
--
--
A67324
假设有一个班级的成绩单,存储在一个长度为 n 的数组 scores 中,每个元素是一个学生的分数。老师想要找出 所有满足 scores[i] + scores[j] + scores[k] == 300 的三元组,其中 i < j < k。下面代码实现该功能,请问其时间复杂度是( )。int cnt = 0;
2025年
--
--
A67317
虽然插入排序的时间复杂度为 O(n2),但由于单元操作相对较少,因此在小数据量的排序任务中非常受欢迎。
2025年
--
--
A67304
关于 埃氏筛 和 线性筛 的比较,下列说法错误的是( )。
2025年
--
--
A67298
给定一个整数数组 nums ,下面代码找到一个具有最大和的连续子数组,并返回该最大和。则下面说法错 误的是( )。int crossSum(vector<int>& nums, int left, int mid, int right) {
2025年
--
--
A67294
下面递归实现的斐波那契数列的时间复杂度为 O(n2)。long long fib_memo(int n, long long memo[]) {
2025年
--
--
A67293
链表通过更改指针实现高效的结点插入与删除,但结点访问效率低、占用内存较多,且对缓存利用不友好。
2025年
--
--
A67291
线性筛关键是“每个合数只会被最小质因子筛到一次”,因此为 O(n)。
2025年
--
--
A67289
下面C++代码采用分治算法求解标准 3 柱汉诺塔问题,时间复杂度为 O(n log n)。void move(vector<int> &src, vector<int> &tar) {
2025年
--
--
A67275
令 n 是树的节点数目,下列C++代码实现了树的广度优先遍历,其时间复杂度是( )。void bfs(TreeNode* root) {
2025年
--
--
A67264
下面代码实现的二叉排序树的查找操作时间复杂度是 O(h),其中 h 为树高。TreeNode* searchBST(TreeNode* root, int val) {
2025年
--
--
A67263
下面C++代码实现了动态规划版本的斐波那契数列计算,其时间复杂度是 O(2n)。int fib_dp(int n) {
2025年
--
--
A67253
下⾯C++程序的时间复杂度为( )。int rec_fib [MAX_N ] ;
2025年
--
--
A67252
下⾯ init_sieve 函数的时间复杂度为( )。int sieve [MAX_N ] ;
2025年
--
--
A67245
邻接表和邻接矩阵都是图的存储形式 。通常 ,使⽤邻接表⽐使⽤邻接矩阵的时间复杂度更低。
2025年
--
--