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

PROBLEM SET

题库

按难度与知识点筛选,找到适合的练习题。

共 67434 题
重置

题目列表

共 67434 题
A22027 ⾯向对象编程中,封装是指将数据和操作数据的⽅法绑定在⼀起,并对外隐藏实现细节。( ) C-L6 -- 困难 -- A22028 以下代码中,构造函数被调⽤的次数是1次。( )class Test { public: Test() { cout << "T "; } }; int main() { Test a; Test b = a; } C-L6 -- 困难 -- A22029 以下关于动态规划的说法中,错误的是( )。 C-L6 -- 困难 -- A22030 0/1 背包(每件物品最多选⼀次)问题通常可⽤⼀维动态规划求解,核⼼代码如下。则下⾯说法正确的是( )。for each item (w, v): for (int j = W; j >= w; j--) dp[j] = max(dp[j], dp[j - w] + v); C-L6 -- 困难 -- A22031 在⼆叉排序树(Binary Search Tree, BST)中,假设节点值互不相同。给定如下搜索函数,以下说法⼀定正确的是( )。bool find(Node* root, int x) { while (root) { if (root->val == x) return true; root = (x < root->val)? root->left : root->right; } re… C-L6 -- 困难 -- A22032 给定⼀棵普通⼆叉树(节点值没有⼤⼩规律),下⾯代码判断是否存在值为 x 的结点,则横线处应填⼊( )。struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} }; TreeNode* bfsFind(TreeNode… C-L6 -- 困难 -- A22033 下列代码实现了树的深度优先遍历,则横线处应填⼊( )。struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} }; void dfs(TreeNode* root) { if (!root) return; stac… C-L6 -- 困难 -- A22034 以下函数实现了⼆叉排序树(BST)的( )操作。TreeNode* op(TreeNode* root, int x) { if (!root) return new TreeNode(x); if (x < root->val) root->left = op(root->left, x); else root->right = op(root->right, x); return root;… C-L6 -- 困难 -- A22035 以下关于哈夫曼编码的说法,正确的是( )。 C-L6 -- 困难 -- A22036 下⾯代码实现了哈夫曼编码,则横线处应填写的代码是( )。struct Symbol { char ch; // 字符 long long freq; // 频率 string code; // 编码 }; struct Node { long long w; // 权值 Node* l, *r; // 左右孩子(节点下标) int sym; // 叶子对应符号下标,内部节点为 -1 Node(l… C-L6 -- 困难 -- A22037 以下代码实现了⼆叉树的( )。void traverse(TreeNode* root) { if (!root) return; traverse(root->left); cout << root->val << " "; traverse(root->right); } C-L6 -- 困难 -- A22038 以下函数check()用于判断一棵二叉树是否为( )。bool check(TreeNode* root) { if (!root) return true; queue<TreeNode*> q; q.push(root); bool hasNull = false; while (!q.empty()) { TreeNode* cur = q.front(); q.pop(); if (!c… C-L6 -- 困难 -- A22039 假设循环队列数组长度为 N ,其中队空判断条件为: front == rear ,队满判断条件为: (rear + 1) % N == front ,出队对应的操作为: front = (front + 1) % N ,⼊队对于的操作为: rear = (rear + 1) %N 。循环队列长度 N = 6 ,初始 front = 1 , rear = 1 ,执⾏操作序列为:⼊队, ⼊队, ⼊队… C-L6 -- 困难 -- A22040 某⽂本编辑器把⽤户输⼊的字符依次压⼊栈S。⽤户依次输⼊ A , B , C , D 后,⽤户按了两次撤销(每次撤销,弹出栈顶⼀个字符)。此时栈从栈底到栈顶的内容是:( )。 C-L6 -- 困难 -- A22041 关于以下代码,说法正确的是( )。class Instrument { public: void play() { cout << "乐器在演奏声音" << endl; } virtual ~Instrument() {}; }; class Piano : public Instrument { public: void play() override { cout << "钢琴:叮咚叮咚" … C-L6 -- 困难 -- A22042 执⾏如下代码,会输出钢琴:叮咚叮咚和 吉他:咚咚当当 。这体现了⾯向对象编程的( )特性。class Instrument { public: virtual void play() { cout << "乐器在演奏声音" << endl; } virtual ~Instrument() {} }; class Piano : public Instrument { public: void p… C-L6 -- 困难 -- A22043 在⾯向对象编程中,下列关于虚函数的描述中,错误的是( )。 C-L6 -- 困难 -- A22044 学习小组 C-L7 -- 困难 -- A22045 城市规划 C-L7 -- 困难 -- A22046 ⼀个包含V个顶点的连通⽆向图,其任何⼀棵⽣成树都恰好包含V-1条边。( ) C-L7 -- 困难 --