#GESP85. GESP23年12月八级选择题

GESP23年12月八级选择题

  1. 小杨要从A城到B城,⼜想顺路游览⼀番。他有两个选项:1、坐⾼铁路到C城游览,再坐⾼铁或飞机到B城; 2、坐船到D城游览,再坐船、⾼铁或飞机到B城。请问⼩杨从A城到B城共有几种交通⽅案可以选择?( )。{{ select(1) }}
  • 2
  • 3
  • 5
  • 6
  1. 以下哪个函数声明是符合语法的,且在调用时可以将⼆维数组的名字作为实际参数传递给形式参数( )。{{ select(2) }}
  • void QuickSort(int a[ ][10], int n);
  • void QuickSort(int a[5][ ], int m);
  • void QuickSort(int a[ ][ ], int n, int m);
  • void QuickSort(int ** a, int n, int m);
  1. 下⾯有关C++类和对象的说法,错误的是( )。 {{ select(3) }}
  • 对象的⽣命周期开始时,会执⾏构造函数。
  • 对象的⽣命周期结束时,会执⾏析构函数。
  • 类的析构函数可以为虚函数。
  • 类的构造函数可以为虚函数。
  1. 使用邻接矩阵表达 n 个顶点的有向图,则该矩阵的大小为( )。{{ select(4) }}
  • n×(n+1)n \times (n+1)
  • n×nn \times n
  • n×(n1)n \times (n-1)
  • n×(n1)/2n \times (n-1)/2
  1. 5 位同学排队,其中一位同学不能排在第一,则共有多少种可能的排队方式?( )。{{ select(5) }}
  • 5
  • 24
  • 96
  • 120
  1. 一个无向图包含 n 个顶点,则其最小生成树包含多少条边?( )。{{ select(6) }}
  • n1n-1
  • nn
  • n+1n+1
  • 最小生成树可能不存在。
  1. 已知三个 double 类型的变量 a 、 b 和 theta 分别表示一个三角形的两条边长及二者的夹角(弧度),则下列哪个表达式可以计算这个三角形的面积?( )。{{ select(7) }}
  • absin(theta)/2 a * b * sin(theta) / 2
  • (a+b)sin(theta)/2(a + b) * sin(theta) / 2
  • abcos(theta)/2a * b * cos(theta) / 2
  • sqrt(aa+bb2abcos(theta))sqrt(a * a + b * b - 2 * a * b * cos(theta))
  1. 对有 n 个元素的二叉排序树进行中序遍历,其时间复杂度是( )。{{ select(8) }}
  • O(1)O(1)
  • O(log(n))O(log(n))
  • O(n)O(n)
  • O(n2)O(n^2)
  1. 假设输入参数 m 和 n 满足mnm \leq n ,则下面程序的最差情况的时间复杂度为( )。{{ select(9) }} image
  • O(log(n))O(log(n))
  • O(n)O(n)
  • O(n×m)O(n \times m)
  • O(m×log(n))O(m \times log(n))
  1. 下面程序的时间复杂度为( )。{{ select(10) }} image
  • O(n)O(n)
  • O(an)O(a^n)
  • O(log(n))O(log(n))
  • O(log(n)×a)O(log(n) \times a)

11.下面程序的时间复杂度为( )。{{ select(11) }} image

  • O(2n)O(2^n)
  • O(2m×(nm))O(2^m \times (n-m))
  • O(C(n,m))O(C(n,m))
  • O(m×(nm))O(m \times (n-m))

12.下面的程序使用出边的邻接表表达有向图,则下列选项中哪个是它表达的图?( )。{{ select(12) }} image

  • image
  • image
  • image
  • image
  1. 下面程序的输出为( )。{{ select(13) }} image
  • 12
  • 18
  • 36
  • 42

14.下面程序的输出为( )。{{ select(14) }} image

  • 3
  • 6
  • 11
  • 22
  1. 下面的程序中,二维数组 h 和 v 分别代表如下图所示的网格中的水平边的时间消耗和垂直边的时间消耗。程序使用动态规划计算从左下角到右上角的最小时间消耗,则横线处应该填写下列哪个选项的代码?( )。{{ select(15) }}。 image image
  • dis[i][j] = min(dis[i - 1][j] + v[i - 1][j], dis[i][j - 1] + h[i][j - 1]);
  • dis[i][j] = min(dis[i - 1][j] + h[i - 1][j], dis[i][j - 1] + v[i][j - 1]);
  • dis[i + 1][j + 1] = min(dis[i][j + 1] + v[i][j + 1], dis[i + 1][j] + h[i + 1][j]);
  • dis[i + 1][j + 1] = min(dis[i][j + 1] + h[i][j + 1], dis[i + 1][j] + v[i + 1][j]);