PROBLEM SET
题库
按难度与知识点筛选,找到适合的练习题。
题目列表
共 67434 题
A23781
下面代码实现了动态规划版本的斐波那契数列计算,其时间复杂度是O(2n) 。( )int fib_dp(int n) { if (n <= 1) return n; vector<int> dp(n + 1); dp[0] = 0; dp[1] = 1; for (int i = 2; i <= n; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } return d…
C-L6
困难
--
A23782
下面代码实现的二叉排序树的查找操作时间复杂度是O(h) ,其中h 为树高。( )TreeNode* searchBST(TreeNode* root, int val) { while (root && root->val != val) { root = (val < root->val) ? root->left : root->right; } return root; }
C-L6
困难
--
A23783
以下代码实现了二叉树的中序遍历。输入以下二叉树,中序遍历结果是 4 2 5 1 3 6 。( )// 1 // / \ // 2 3 // / \ \ // 4 5 6 struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) : val(x), left(nullptr), right(nullptr…
C-L6
困难
--
A23784
一棵有n个节点的二叉树一定有n-1条边。( )
C-L6
困难
--
A23785
循环队列通过模运算循环使用空间。( )
C-L6
困难
--
A23786
在 C++ STL 中,栈( std::stack )的 pop 操作返回栈顶元素并移除它。( )
C-L6
困难
--
A23787
一个含有100个节点的完全二叉树,高度为8 。( )
C-L6
困难
--
A23788
哈夫曼编码是最优前缀码,且编码结果唯一。( )
C-L6
困难
--
A23789
当基类可能被多态使用,其析构函数应该声明为虚函数。( )
C-L6
困难
--
A23790
给定n个物品和一个最大承重为 的背包,每个物品有一个重量wt[i]和价值val[i] ,每个物品只能选择放或不放。目标是选择若干个物品放入背包,使得总价值最大,且总重量不超过W,则横线上应填写( )。int knapsack(int W, vector<int>& wt, vector<int>& val, int n) { vector<int> dp(W + 1, 0); for (int …
C-L6
困难
--
A23792
在二叉排序树(Binary Search Tree, BST)中查找元素 50 ,从根节点开始:若根值为 60 ,则下一步应去搜索:( )
C-L6
困难
--
A23793
令n是树的节点数目,下列代码实现了树的广度优先遍历,其时间复杂度是( )。void bfs(TreeNode* root) { if (!root) return; queue<TreeNode*> q; q.push(root); while (!q.empty()) { TreeNode* node = q.front(); q.pop(); cout << node->val << " "…
C-L6
困难
--
A23794
请将下列树的深度优先遍历代码补充完整,横线处应填入( )。struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} }; void dfs(TreeNode* root) { if (!root) return; __…
C-L6
困难
--
A23795
下面代码生成格雷编码,则横线上应填写( )。vector<string> grayCode(int n) { if (n == 0) return {"0"}; if (n == 1) return {"0", "1"}; vector<string> prev = grayCode(n - 1); vector<string> result; for (string s : prev) { r…
C-L6
困难
--
A23796
设有字符集 {a, b, c, d, e, f} ,其出现频率分别为 {5, 9, 12, 13, 16, 45} 。哈夫曼算法构造最优前缀编码,以下哪一组可能是对应的哈夫曼编码?(非叶子节点左边分支记作 0,右边分支记作 1,左右互换不影响正确性)。( )
C-L6
困难
--
A23797
完全二叉树可以用数组连续高效存储,如果节点从 1 开始编号,则对有两个孩子节点的节点 i ,( )。
C-L6
困难
--
A23799
以下函数 createTree() 构造的树是什么类型?( )struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} }; TreeNode* createTree() { TreeNode* root = new …
C-L6
困难
--
A23801
栈的操作特点是( )。
C-L6
困难
--
A23802
下面代码中 v1 和 v2 调用了相同接口 move() ,但输出结果不同,这体现了面向对象编程的( )特性。class Vehicle { private: string brand; public: Vehicle(string b) : brand(b) {} void setBrand(const string& b) { brand = b; } string getBrand() c…
C-L6
困难
--
A23804
下列关于类的说法,错误的是( )。
C-L6
困难
--