PROBLEM SET
题库
按难度与知识点筛选,找到适合的练习题。
题目列表
共 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
困难
--