测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

分类题库

C++编程题库

按题型、年份与知识点筛选,快速定位练习题。

共 42 题 2025年

题目列表

共 42 题
A67294 下面递归实现的斐波那契数列的时间复杂度为 O(n2)。long long fib_memo(int n, long long memo[]) { 2025年 递归 时间复杂度 记忆化搜索 判断 A67289 下面C++代码采用分治算法求解标准 3 柱汉诺塔问题,时间复杂度为 O(n log n)。void move(vector<int> &src, vector<int> &tar) { 2025年 递归 时间复杂度 汉诺塔 分治算法 判断 A67288 所有递归算法都可以转换为迭代算法。 2025年 递归 迭代 算法转换 判断 A67277 下面C++代码生成格雷编码,则横线上应填写( )。vector<string> grayCode(int n) { 2025年 递归 字符串处理 格雷编码 逆向遍历 单选 A67273 删除二叉排序树中的节点时,如果节点有两个孩子,则横线处应填入( ),其中 findMax 和 findMin 分 别为寻找树的最大值和最小值的函数。struct TreeNode { 2025年 递归 二叉排序树 节点删除 单选 A67253 下⾯C++程序的时间复杂度为( )。int rec_fib [MAX_N ] ; 2025年 递归 时间复杂度 记忆化搜索 单选 A67243 泛洪算法的递归实现容易造成溢出 , 因此⼤的⼆维地图算法中 ,一般使⽤⼴度优先搜索实现。 2025年 递归 广度优先搜索 栈溢出 泛洪算法 判断 A67228 下⾯ count_triple 函数的时间复杂度为( )。int gcd(int m , int n ) { 2025年 递归 循环结构 最大公约数 时间复杂度分析 单选 A67227 下⾯ merge_sort 函数试图实现归并排序算法 ,横线处应该填⼊的是( )。 2025年 递归 归并排序 分治算法 单选 A67211 下列代码实现了归并排序(Merge Sort)的分治部分。为了正确地将数组 a 的 [left, right] 区间进行排序,横线处应该填入的是( )。void merge_sort(int a[], int left, int right) { 2025年 递归 归并排序 分治算法 单选 A67178 下面C++程序中,函数 query 的时间复杂度是( )。 2025年 递归 时间复杂度 分治算法 单选 A67156 以下函数 check() 用于判断一棵二叉树是否为( )。 2025年 递归 二叉树 数据结构 单选 A67155 以下c++代码实现了二叉树的( )。void traverse(TreeNode* root) { 2025年 递归 二叉树遍历 后序遍历 单选 A67153 以下函数实现了二叉排序树(BST)的( )操作。TreeNode* op(TreeNode* root, int x) { 2025年 递归 插入操作 二叉排序树 单选 A67152 下列C++代码实现了树的深度优先遍历,则横线处应填入( )。 2025年 递归 树结构 深度优先遍历 单选 A67151 给定一棵普通二叉树(节点值没有大小规律),下面C++代码判断是否存在值为 x 的结点,则横线处应填入( )。 2025年 递归 条件判断 二叉树遍历 单选 A67143 以下C++代码能够正确统计二叉树中叶子结点的数量。int countLeaf(TreeNode* root) { 2025年 递归 二叉树 叶子结点统计 判断 A67139 下面的函数能正确判断一棵树是不是二叉排序树(左边的数字要比当前数字小,右边的数字要比当前数字 大)。bool isBST(TreeNode* root, int minVal, int maxVal) { 2025年 递归 树遍历 二叉排序树 判断 A67124 下面给出了阶乘计算的两种方式。以下说法正确的是( )。 2025年 递归 循环结构 阶乘计算 单选 A67112 以下 fib 函数计算第 n 项斐波那契数( fib(0)=0 , fib(1)=1 ),其时间复杂度为 O(n)。int fib(int n) { 2025年 递归 时间复杂度 斐波那契数列 判断