GESP C++ 真题 · 逐题精解
首页 › C++六级真题 › 2026年9月 › 第6题

GESP 2026年9月 C++六级 判断题 第6题

C++六级判断题2026年9月第6题

所属知识点:广度优先搜索(BFS) 难度要求:— 考频:—

若使用下列代码从节点 start 开始访问一棵树,则第一次到达某个节点时所经过的边数,一定是从 start 到该节点的最少边数。
vector<int> tree[100];
bool visited[100];
int dist[100];

void search(int start) {
    queue<int> q;
    q.push(start);
    visited[start] = true;
    dist[start] = 0;

    while (!q.empty()) {
        int u = q.front();
        q.pop();

        for (int v : tree[u]) {
            if (!visited[v]) {
                visited[v] = true;
                dist[v] = dist[u] + 1;
                q.push(v);
            }
        }
    }
}

正确答案:正确(√)

题目解析
该代码是基于队列的广度优先搜索(BFS),在无权图/树中按层扩展,第一次到达某节点所经过的边数即为从 start 到该节点的最少边数。说法正确。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习