04在0/1背包问题中,给定一组物品,每个物品有一个重量和价值,背包的容量有限。假设背包的最大容量为 W,物品的数量为 n,其中第 i 个物品的重量为 w[i],价值为 v[i]。以下关于0/1背包问题的描述,正确的是( )。2分
登录后查看选项
05一棵深度为6(根节点深度为1)的完全二叉树,节点总数最少有( )。2分
登录后查看选项
06
对于如下二叉树,下面关于访问的顺序说法错误的是( )。
2分
登录后查看选项
07
下面程序的运行结果为( )。
#include <iostream>
int query(int n, int *a, int x) {
int l = 0, r = n;
while (l < r) {
int mid = l + (r - l) / 2;
if (a[mid] >= x) r = mid;
else l = mid + 1;
}
if (l == n) return -1;
return l;
}
int main() {
int n = 10;
int x = 3;
int num[] = {1, 2, 2, 3, 3, 4, 5, 5, 6, 7};
std::cout << query(n, num, x) << "\n";
return 0;
}
2分
登录后查看选项
08
下面程序中,函数 query 的时间复杂度是( )。
#include <iostream>
int query(int n, int *a, int x) {
int l = 0, r = n;
while (l < r) {
int mid = l + (r - l) / 2;
if (a[mid] >= x) r = mid;
else l = mid + 1;
}
if (l == n) return -1;
return l;
}
int main() {
int n = 10;
int x = 3;
int num[] = {1, 2, 2, 3, 3, 4, 5, 5, 6, 7};
std::cout << query(n, num, x) << "\n";
return 0;
}