#G1129. 客观题

客观题

一、单选题(每题 2 分,共 30 分)

  1. GESP\tt GESP 活动期间,举办方从获胜者 ABCDE\tt ABCDE 五个人中选出三个人排成一队升国旗,其中 A\tt A 不能排在队首,请问有多少种排法?( )

{{ select(1) }}

  • 2424
  • 4848
  • 3232
  • 1212
  1. 77 进制数 235235 转换成 33 进制数是( )。

{{ select(2) }}

  • 1112111121
  • 1112211122
  • 1121111211
  • 1111211112
  1. 0,1,2,3,4,50,1,2,3,4,5 这些数字组成一个三位数,请问没有重复数字的情况下,有多少种组法( )。

{{ select(3) }}

  • 180180
  • 120120
  • 8080
  • 100100
  1. VV 个顶点、EE 条边的图的深度优先搜索遍历时间复杂度为( )。

{{ select(4) }}

  • O(V)O(V)
  • O(E)O(E)
  • O(V+E)O(V+E)
  • O(log(V+E))O(\log (V+E))
  1. 一对夫妻生男生女的概率相同。已知这对夫妻有两个孩子,其中一个是女孩,另一个是男孩的概率是多少?( )

{{ select(5) }}

  • 2/32/3
  • 1/41/4
  • 1/21/2
  • 1/31/3
  1. 112024202420242024 个数中,共有( )个包含数字 66 的数。

{{ select(6) }}

  • 544544
  • 546546
  • 564564
  • 602602
  1. 二进制数 100.001100.001 转换成十进制数是( )。

{{ select(7) }}

  • 4.254.25
  • 4.1254.125
  • 4.54.5
  • 4.754.75
  1. 以下函数声明,哪个是符合 C\tt C++ 语法的?( )

{{ select(8) }}

  • void BubbleSort(char a[][], int n);
  • void BubbleSort(char a[][20], int n);
  • void BubbleSort(char a[10][], int n);
  • void BubbleSort(char[,] a, int n);
  1. 下面有关 C\tt C++ 重载的说法,错误的是( )。

{{ select(9) }}

  • 两个参数个数不同的函数可以重名
  • 两个参数类型不同的函数可以重名
  • 两个类的方法可以重名
  • 所有 C\tt C++ 运算符均可以重载
  1. 小于或等于给定正整数 nn 的数中,与 nn 互质的数的个数,我们称为欧拉函数,记作 ϕ(n)\phi(n)。下面说法错误的是( )。

{{ select(10) }}

  • 如果 nn 是质数,那么 ϕ(n)=n1\phi(n) = n-1
  • 两个质数一定是互质数
  • 两个相邻的数一定是互质数
  • 相邻的两个质数不一定是互质数
  1. 已知一棵二叉树有 1010 个节点,则其中至多有( )个节点有 22 个子节点。

{{ select(11) }}

  • 44
  • 55
  • 66
  • 33
  1. 二项展开式 $(x+y)^n = x^n + nx^{n-1}y + \frac{n(n-1)}{2}x^{n-2}y^2+ \cdots +y^n$ 的系数,正好满足杨辉三角的规律。当 n=10n = 10 时,二项式展开式中 xy9xy^9 项的系数是( )。

{{ select(12) }}

  • 55
  • 99
  • 1010
  • 88
  1. 下面程序的时间复杂度为( )。

    bool notPrime[N] = {false};
    void sieve() {
        for (int n = 2; n * n < N; n++)
            if (!notPrime[n])
                for (int i = n * n; i < N; i += n)
                    notPrime[i] = true;
    }
    

{{ select(13) }}

  • O(N)O(N)
  • O(N×logN)O(N \times \log N)
  • O(NloglogN)O(N \log \log N)
  • O(N2)O(N^2)
  1. 下面程序的最差时间复杂度为( )。

    int gcd(int m, int n) {
        if (m == 0)
            return n;
        return gcd(n % m, m);
    }
    

{{ select(14) }}

  • O(n)O(\sqrt n)
  • O(logn)O(\log n)
  • O(n)O(n)
  • O(1)O(1)
  1. 下面程序的输出为( )。

    #include <iostream>
    using namespace std;
    int main() {
        int cnt = 0;
        for (int x = 0; x <= 10; x++)
            for (int y = 0; y <= 10; y++)
                for (int z = 0; z <= 10; z++)
                    if (x + y + z <= 15)
                        cnt++;
        cout << cnt << endl;
        return 0;
    }
    

{{ select(15) }}

  • 9090
  • 9191
  • 710710
  • 711711

二、判断题(每题 2 分,共 20 分)

  1. ABCDE\tt ABCDE 五个小朋友,排成一队跑步,其中 AB\tt AB 两人必须排在一起,一共有 4848 种排法。( )

{{ select(16) }}

  • 正确
  • 错误
  1. 已知 double\tt double 类型的变量 aabb,则执行语句 a = a + b; b = a - b; a = a - b; 后,变量 aabb 的值会互换。( )

{{ select(17) }}

  • 正确
  • 错误
  1. 一个袋子中有 33 个完全相同的红色小球、22 个完全相同的蓝色小球。每次从中取出 11 个,再放回袋子,这样进行 33 次后,可能的颜色顺序有 88 种。( )

{{ select(18) }}

  • 正确
  • 错误
  1. 已知 int\tt int 类型的变量 aabb 中分别存储着一个直角三角形的两条直角边的长度,则斜边的长度可以通过表达式 sqrt(a * a + b * b) 求得。( )

{{ select(19) }}

  • 正确
  • 错误
  1. 在一个包含 vv 个顶点、ee 条边的带权连通简单有向图上使用 Dijkstra\tt Dijkstra 算法求最短路径,时间复杂度为 O(v2)O(v^2),可进一步优化至 O(e+vlogv)O(e + v \log v)。( )

{{ select(20) }}

  • 正确
  • 错误
  1. NN 个元素的二叉排序树中查找一个元素,最差情况的时间复杂度是 O(logN)O(\log N)。( )

{{ select(21) }}

  • 正确
  • 错误
  1. C\tt C++ 语言中,可以为同一个类定义多个析构函数。( )

{{ select(22) }}

  • 正确
  • 错误
  1. 使用单链表和使用双向链表,查找元素的时间复杂度相同。( )

{{ select(23) }}

  • 正确
  • 错误
  1. 为解决哈希函数冲突,可以使用不同的哈希函数为每个表项各建立一个子哈希表,用来管理该表项的所有冲突元素。这些子哈希表一定不会发生冲突。( )

{{ select(24) }}

  • 正确
  • 错误
  1. 要判断无向图的连通性,在深度优先搜索和广度优先搜索中选择,深度优先的平均时间复杂度更低。( )

{{ select(25) }}

  • 正确
  • 错误