林老师 · 客观题题库 · GESP 六级 · 2024 真题

GESP 六级 · 2024 真题

六级 · 2024 真题 · 客观题 · 每题 2 分
真题
复刻
试卷编号OBJ-794528
题目总数25 题 · 50 分
试卷类型客观题
考生须知:
① 本卷为客观题单卷,合计 25 题 · 50 分,全部为客观题;
② 试卷右上角设有 「提交答卷」「重置考试」 按钮,提交后系统自动判分并显示答题正确情况,请确认全部作答后再行提交;
③ 试卷不显示答案,提交后方可查看每题作答与正确答案的对照;
④ 答卷进度会保留在本地缓存中,刷新或再次打开仍可继续作答;
⑤ 本卷仅供学生练习使用;请勿用于其他用途;题面有问题请联系:i64coder@163.com。

判 分 报 告

0 / 50 分
0
答 对 · 得 0
0
答 错 · 失 0
当前筛选下没有题目

客 观 题

25 QUESTIONS · 2 POINTS EACH
第 1 题 单选 未作答

面向对象编程(OOP)是一种特殊的程序设计方法。下面( )不是重要的OOP特性。

(2 分)
GESP 六级 2024-12 · 单选 第1题 | 知识点 类与对象、继承
第 2 题 单选 未作答

以下关于C++中类的说法,哪一项是正确的?

(2 分)
GESP 六级 2024-12 · 单选 第2题 | 知识点 类与对象、作用域
第 3 题 单选 未作答

以下C++代码段中存在语法错误或逻辑错误,( )是正确的。

01#include <iostream>
02using namespace std;
03
04class MyClass {
05public:
06    MyClass() {
07        cout << "Constructor called!" << endl;
08    }
09    void display() {
10        cout << "Display function called!" << endl;
11    }
12};
13
14int main() {
15    MyClass* obj = NULL;
16    obj->display();
17    return 0;
18}

(2 分)
GESP 六级 2024-12 · 单选 第3题 | 知识点 指针、程序阅读与输出推断
第 4 题 单选 未作答

阅读以下代码,下面哪一项是正确的?

01void processData() {
02    stack<int> s;
03    queue<int> q;
04    for (int i = 1; i <= 5; ++i) {
05        s.push(i);
06        q.push(i);
07    }
08    while (!s.empty()) {
09        cout << "Stack pop: " << s.top() << endl;
10        s.pop();
11    }
12    while (!q.empty()) {
13        cout << "Queue pop: " << q.front() << endl;
14        q.pop();
15    }
16}

(2 分)
GESP 六级 2024-12 · 单选 第4题 | 知识点 栈、队列、程序阅读与输出推断
第 5 题 单选 未作答

N 个节点的双向循环链,在其中查找某个节点的平均时间复杂度是()。

(2 分)
GESP 六级 2024-12 · 单选 第5题 | 知识点 双向链表、循环链表、时间复杂度
第 6 题 单选 未作答

以下关于树的说法,( )是正确的。

(2 分)
GESP 六级 2024-12 · 单选 第6题 | 知识点 二叉树概念、满二叉树、二叉树性质
第 7 题 单选 未作答

已知字符集 {A, B, C, D} 的出现频率如下表所示:

字符 频率
A 8
B 3
C 1
D 6

根据哈夫曼编码法,下面( )是正确的哈夫曼树。

(2 分)
GESP 六级 2024-12 · 单选 第7题 | 知识点 哈夫曼树、哈夫曼编码
第 8 题 单选 未作答

已知字符集 {A, B, C, D} 的出现频率为 A:8、B:3、C:1、D:6,根据哈夫曼编码法,各字符的哈夫曼编码是( )。

(2 分)
GESP 六级 2024-12 · 单选 第8题 | 知识点 哈夫曼编码、哈夫曼树
第 9 题 单选 未作答

( )是 33 位格雷编码。

(2 分)
GESP 六级 2024-12 · 单选 第9题 | 知识点 二进制、位异或
第 10 题 单选 未作答

根据下面二叉树和给定的代码,给定以下二叉搜索树,调用函数 search(root, 7) 时,输出的结果是()。

01#include <iostream>
02using namespace std;
03
04struct TreeNode {
05    int val;
06    TreeNode* left;
07    TreeNode* right;
08    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
09};
10
11TreeNode* search(TreeNode* root, int val) {
12    cout << root->val << " ";
13    if (root == NULL || root->val == val) return root;
14
15    if (val < root->val)
16        return search(root->left, val);
17    else
18        return search(root->right, val);
19}

二叉搜索树根为 55,第二层为 3377,第三层为 22446688

(2 分)
GESP 六级 2024-12 · 单选 第10题 | 知识点 二叉搜索树、程序阅读与输出推断
第 11 题 单选 未作答

阅读以下二叉树的深度优先搜索算法,横线上应填写()。

01void dfs(TreeNode* root) {
02    if (root == nullptr)
03        return;
04
05    stack<TreeNode*> s;
06    s.push(root);
07    while (!s.empty()) {
08        ____________ // 在此处填入代码
09        cout << node->value << " ";
10
11        if (node->right) s.push(node->right);
12        if (node->left) s.push(node->left);
13    }
14}

(2 分)
GESP 六级 2024-12 · 单选 第11题 | 知识点 深度优先搜索、栈、程序补全
第 12 题 单选 未作答

阅读以下二叉树的广度优先搜索的代码,横线上应填写()。

01#include <queue>
02void bfs(TreeNode* root) {
03    if (root == NULL) return;
04
05    queue<TreeNode*> q;
06    q.push(root);
07    while (!q.empty()) {
08        ____________ // 在此处填入代码
09        cout << node->val << " ";
10        if (node->left) {
11            q.push(node->left);
12        }
13        if (node->right) {
14            q.push(node->right);
15        }
16    }
17}

(2 分)
GESP 六级 2024-12 · 单选 第12题 | 知识点 广度优先搜索、队列、程序补全
第 13 题 单选 未作答

使用宽度优先搜索(BFS)遍历以下这棵树,可能的输出是( )。

    1
   / \
  2   3
 / \   \
8   9   6
   / \   \
  4   5   7

(2 分)
GESP 六级 2024-12 · 单选 第13题 | 知识点 广度优先搜索、程序阅读与输出推断
第 14 题 单选 未作答

以下关于动态规划的描述,( )是正确的。

(2 分)
GESP 六级 2024-12 · 单选 第14题 | 知识点 线性DP、记忆化搜索
第 15 题 单选 未作答

假设背包的最大容量 W=8kgW = 8\text{kg},共有 44 个物品可供选择,44 个物品重量分别为 weights = [2, 3, 5, 7],价值 values = [30, 40, 60, 80],则该0/1背包问题中最大价值为()。

(2 分)
GESP 六级 2024-12 · 单选 第15题 | 知识点 01背包、线性DP
第 16 题 判断 未作答

构造函数是一种特殊的类成员函数,构造函数的名称和类名相同。但通过函数重载,可以创建多个同名的构造函数,条件是每个构造函数的参数列表不同。

(2 分)
GESP 六级 2024-12 · 判断 第1题 | 知识点 构造与析构、类与对象
第 17 题 判断 未作答

类的静态成员函数既能访问类的静态数据成员,也能访问非静态成员数据。

(2 分)
GESP 六级 2024-12 · 判断 第2题 | 知识点 类与对象、作用域
第 18 题 判断 未作答

栈中元素的插入和删除操作都在栈的顶端进行,所以方便用单向链表实现。

(2 分)
GESP 六级 2024-12 · 判断 第3题 | 知识点 栈、单向链表
第 19 题 判断 未作答

下面代码构建的树一定是完全二叉树:

01struct TreeNode {
02    int value;
03    TreeNode* left;
04    TreeNode* right;
05};
06
07TreeNode* buildCompleteBinaryTree() {
08    TreeNode* root = new TreeNode{1};
09    root->left = new TreeNode{2};
10    root->right = new TreeNode{3};
11    root->left->left = new TreeNode{4};
12    root->left->right = new TreeNode{5};
13    root->right->left = new TreeNode{6};
14    return root;
15}

(2 分)
GESP 六级 2024-12 · 判断 第4题 | 知识点 完全二叉树、二叉树概念
第 20 题 判断 未作答

在二叉排序树中,左子树所有节点的值都大于根节点的值,右子树所有节点的值都小于根节点的值。

(2 分)
GESP 六级 2024-12 · 判断 第5题 | 知识点 二叉搜索树、二叉树概念
第 21 题 判断 未作答

在生成一个派生类的对象时,只调用派生类的构造函数。

(2 分)
GESP 六级 2024-12 · 判断 第6题 | 知识点 继承、构造与析构
第 22 题 判断 未作答

下面的代码实现了二叉树的前序遍历,它通过递归方法访问每个节点并打印节点值。

01void preorder(TreeNode* root) {
02    if (root == NULL) return;
03    cout << root->val << " ";
04    preorder(root->left);
05    preorder(root->right);
06}

(2 分)
GESP 六级 2024-12 · 判断 第7题 | 知识点 前序遍历、程序阅读与输出推断
第 23 题 判断 未作答

在二叉树中,宽度优先搜索算法(BFS)保证从起点到每个节点的访问路径是边数最少的路径(即最短路径)。

(2 分)
GESP 六级 2024-12 · 判断 第8题 | 知识点 广度优先搜索、深度优先搜索
第 24 题 判断 未作答

在解决简单背包问题时,动态规划的状态转移方程如下:

dp[i][w] = max(dp[i-1][w], dp[i-1][w - weights[i-1]] + values[i-1]);

该方程表示:在考虑第 ii 个物品时,当前背包容量为 ww,如果不放物品 ii,则最大价值是 dp[i-1][w];如果放入物品 ii,则最大价值是 dp[i-1][w - weights[i-1]] + values[i-1],其中数组 weightsvalues 分别表示所有物品的重量和值,数组下标从 00 开始。

(2 分)
GESP 六级 2024-12 · 判断 第9题 | 知识点 01背包、线性DP
第 25 题 判断 未作答

栈中元素的插入和删除操作都在栈的顶端进行,所以方便用双向链表比单向链表更合适实现。

(2 分)
GESP 六级 2024-12 · 判断 第10题 | 知识点 栈、单向链表、双向链表