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

分类题库

C++编程题库

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

共 4008 题

题目列表

共 4008 题
A67464 归并排序的最好、最坏和平均时间复杂度均为0(n log n). 2025年 归并排序 时间复杂度 判断 A67463 查字典这个小学生必备技能,可以把字典视为一个已排序的数组。假设小杨要查找一个音首字母为 g 的单 词,他首先翻到字典约一半的页数,发现该页的首字母是 m ,由于字母表中 g 位于 m 之前,所以排除字典后半部 分,查找范围缩小到前半部分;不断重复上述步骤,直至找到首字母为 g 的页码。这种查字典的一系列操作可看作 二分查找。 2025年 二分查找 有序数组 查找范围缩小 判断 A67462 求解下图中A点到D点最短路径,其中A到B之间的12可以理解为距离。求解这样的问题常用Dijkstra算法,其 思路是通过逐步选择当前距离起点最近的节点来求解非负权重图(如距离不能为负值)单源最短路径的算法。从该 算法的描述可以看出,Dijkstra算法是贪心算法。 2025年 图论 贪心算法 最短路径 Dijkstra算法 判断 A67461 分治算法将原问题可以分解成规模更小的子问题,使得求解问题的难度降低。但由于分治算法需要将问题进 行分解,并且需要将多个子问题的解合并为原问题的解,所以分治算法的效率通常比直接求解原问题的效率低。 2025年 算法效率 分治算法 判断 A67460 函数 puzzle 定义如下,则调用 puzzle(7) 程序会无限递归。int puzzle(int n) { 2025年 递归 条件判断 函数调用 判断 A67459 如下为线性筛法,用于高效生成素数表,其核心思想是每个合数只被它的最小质因数筛掉一次,时间复杂 度为0(n)。vector<int> linearSieve(int n) { 2025年 循环结构 时间复杂度 线性筛法 素数表 判断 A67458 奖品兑换 2025年 贪心算法 数学建模 整数运算 编程题 A67457 最大公因数 2025年 数论 区间查询 数学推理 最大公因数 编程题 A67456 下列哪一项不是面向对象编程的基本特征? 2025年 面向对象编程 封装继承多态 单选 A67455 为了让 Dog 类的构造函数能正确地调用其父类 Animal 的构造方法,横线线处应填入( )。 2025年 继承 构造函数 面向对象编程 单选 A67454 横线处填入代码Animal(name),C++代码执行结果是( )。 2025年 类与对象 继承 构造函数 单选 A67453 以下关于栈和队列的C++代码,执行后输出是( )。stack<int> s; 2025年 队列 单选 A67452 在一个循环队列中, front 是指向队头的指针, rear 指向队尾的指针,队列最大容量为 maxSize 。判断 队列已满的条件是( )。 2025年 循环队列 队列判满 指针操作 单选 A67451 请将下列 C++ 实现的深度优先搜索(DFS)代码补充完整,横线处应填入( )。struct TreeNode { 2025年 深度优先搜索 递归 二叉树遍历 单选 A67450 给定一个二叉树,返回每一层中最大的节点值,结果以数组形式返回,横线处应填入( )。#include <vector> 2025年 队列 广度优先搜索 二叉树 层序遍历 单选 A67449 下面C++代码实现一个二叉排序树的插入函数(没有相同的数值),横线处应填入( )。struct TreeNode { 2025年 递归 二叉排序树 指针与引用 单选 A67448 给定 n 个物品和一个最大承重为w 的背包,每个物品有一个重量 wt[i]和价值val[i] ,每个物品只能选择放或 不放。目标是选择若干个物品放入背包,使得总价值最大,且总重量不超过 w。关于下面c++代码,说法正确的是( )。int knapsack1D(int W, vector<int>& wt, vector<int>& val, int n) { 2025年 动态规划 循环结构 背包问题 一维数组优化 单选 A67447 构造函数可以被声明为 virtual。 2025年 面向对象 构造函数 虚函数 判断 A67446 给定一组字符及其出现的频率,构造出的哈夫曼树是唯一的。 2025年 贪心算法 树结构 哈夫曼树 判断 A67445 为了实现一个队列,使其出队操作( pop )的时间复杂度为 O(1)并且避免数组删除首元素的 问题,一 种常见且有效的方法是使用环形数组,通过调整队首和队尾指针来实现。 2025年 队列 时间复杂度 环形数组 判断