GESP C++ 真题 · 逐题精解
首页C++八级真题 › 2024年9月 › 第10题

GESP 2024年9月 C++八级 单选题 第10题

C++八级单选题2024年9月第10题

所属知识点:最小生成树(Kruskal/Prim) 难度要求:掌握 考频:中频

下面 Kruskal 最小生成树程序中,横线处应填入:
struct Edge { int u, v, weight;
    bool operator <(const Edge & o) const { return weight < o.weight; } };
int findParent(int x, vector<int> & p) {
    if (p[x] == -1) return x;
    return p[x] = findParent(p[x], p);
}
// ... sort(edges) 后:
for (const auto & edge : edges) {
    int uParent = findParent(edge.u, parent);
    int vParent = findParent(edge.v, parent);
    if (__________) { // 在此处填入选项
        parent[uParent] = vParent;
        totalWeight += edge.weight;
    }
}

正确答案:C

题目解析

Kruskal 按边权从小到大,若一条边的两端点不在同一集合(uParent………

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

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

进入 GESPPASS 开始练习