分类题库
C++编程题库
按题型、年份与知识点筛选,快速定位练习题。
题目列表
共 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年
判断