已知小写字母 b 的 ASCII 码为,下列 C++ 代码的输出结果是( )。
01#include <iostream> 02using namespace std; 03int main() { 04 char a = 'b' ^ 4; 05 cout << a; 06 return 0; 07}
已知 a 为 int 类型变量,p 为 int * 类型变量,下列赋值语句不符合语法的是( )。
下列关于 C++ 类的说法,错误的是( )。
下列 C++ 代码的输出是( )。
01#include <iostream> 02using namespace std; 03int main() { 04 int arr[5] = {2, 4, 6, 8, 10}; 05 int * p = arr + 2; 06 cout << p[3] << endl; 07 return 0; 08}
假定只有一个根节点的树的深度为,则一棵有个节点的完全二叉树,则树的深度为( )。
对于如下图的二叉树,说法正确的是( )。
图的存储和遍历算法,下面说法错误的是( )。
一个连通的简单有向图,共有条边,则该图至少有( )个顶点。
以下哪个方案不能合理解决或缓解哈希表冲突( )。
以下关于动态规划的说法中,错误的是( )。
下面程序的输出为( )。
01#include <iostream> 02using namespace std; 03int rec_fib[100]; 04int fib(int n) { 05 if (n <= 1) 06 return n; 07 if (rec_fib[n] == 0) 08 rec_fib[n] = fib(n - 1) + fib(n - 2); 09 return rec_fib[n]; 10} 11int main() { 12 cout << fib(6) << endl; 13 return 0; 14}
下面程序的时间复杂度为( )。
01int rec_fib[MAX_N]; 02int fib(int n) { 03 if (n <= 1) 04 return n; 05 if (rec_fib[n] == 0) 06 rec_fib[n] = fib(n - 1) + fib(n - 2); 07 return rec_fib[n]; 08}
下面 search 函数的平均时间复杂度为( )。
01int search(int n, int * p, int target) { 02 int low = 0, high = n; 03 while (low < high) { 04 int middle = (low + high) / 2; 05 if (target == p[middle]) { 06 return middle; 07 } else if (target > p[middle]) { 08 low = middle + 1; 09 } else { 10 high = middle; 11 } 12 } 13 return -1; 14}
下面程序的时间复杂度为( )。
01int primes[MAXP], num = 0; 02bool isPrime[MAXN] = {false}; 03void sieve() { 04 for (int n = 2; n <= MAXN; n++) { 05 if (!isPrime[n]) 06 primes[num++] = n; 07 for (int i = 0; i < num && n * primes[i] <= MAXN; i++) { 08 isPrime[n * primes[i]] = true; 09 if (n % primes[i] == 0) 10 break; 11 } 12 } 13}
下列选项中,哪个不可能是下图的广度优先遍历序列( )。
C++ 语言中,表达式 9 & 12 的结果类型为 int、值为 8。
C++ 语言中,指针变量指向的内存地址不一定都能够合法访问。
对个元素的数组进行快速排序,最差情况的时间复杂度为。
一般情况下,long long 类型占用的字节数比 float 类型多。
使用 math.h 或 cmath 头文件中的函数,表达式 pow(10, 3) 的结果的值为 1000、类型为 int。
二叉排序树的中序遍历序列一定是有序的。
无论哈希表采用何种方式解决冲突,只要管理的元素足够多,都无法避免冲突。
在 C++ 语言中,类的构造函数和析构函数均可以声明为虚函数。
动态规划方法将原问题分解为一个或多个相似的子问题,因此必须使用递归实现。
如果将城市视作顶点,公路视作边,将城际公路网络抽象为简单图,可以满足城市间的车道级导航需求。