代码随想录算法【Day57】

53. 寻宝

Prim算法 是求解加权无向图最小生成树的经典算法。其基本思想是:从图中任意一个节点出发,逐步扩展生成树,每次选择连接树与非树的最小权边。直到所有节点都被加入生成树中,算法结束。

复制代码
#include<iostream>
#include<vector>
#include <climits>
​
using namespace std;
int main() {
    int v, e;
    int x, y, k;
    cin >> v >> e;
    vector<vector<int>> grid(v + 1, vector<int>(v + 1, 10001));
    while (e--) {
        cin >> x >> y >> k;
        grid[x][y] = k;
        grid[y][x] = k;
    }
    vector<int> minDist(v + 1, 10001);
    vector<bool> isInTree(v + 1, false);
    for (int i = 1; i < v; i++) {
        int cur = -1;
        int minVal = INT_MAX;
        for (int j = 1; j <= v; j++) {
            if (!isInTree[j] &&  minDist[j] < minVal) {
                minVal = minDist[j];
                cur = j;
            }
        }
        isInTree[cur] = true;
        for (int j = 1; j <= v; j++) {
            if (!isInTree[j] && grid[cur][j] < minDist[j]) {
                minDist[j] = grid[cur][j];
            }
        }
    }
    int result = 0;
    for (int i = 2; i <= v; i++) {
        result += minDist[i];
    }
    cout << result << endl;
}
相关推荐
eBest数字化转型方案10 分钟前
Route Optimization for FMCG:多目标排线算法的工程实现
大数据·人工智能·算法
洋不写bug1 小时前
链表补充练习,双链表的模拟实现
java·数据结构·链表·双链表·底层实现
residual_fan1 小时前
持续对比强化学习(Continual Contrastive Reinforcement Learning)论文分享
人工智能·算法·数据挖掘·数据分析
s_w.h1 小时前
【 计网 】序列化与反序列化
linux·服务器·网络·算法·bash
信奥卷王1 小时前
2025年09月GESPC++五级真题解析(含视频)
算法
白狐_7981 小时前
408 数据结构|外部排序:流程与 k 路归并
数据结构·算法
闻缺陷则喜何志丹2 小时前
【动态规划】P3609 [USACO17JAN] Hoof, Paper, Scissor G
c++·算法·动态规划·洛谷
leihefeng2 小时前
手写数字识别:KNN vs 逻辑回归实战
python·算法·机器学习·逻辑回归·scikit-learn
全栈技术负责人3 小时前
DeepSeek Harness 业务工具权限插件 dsh-tool-permission设计思路
网络·算法·ai·ai编程
mmmmath_33 小时前
面试题 02.07. 链表相交
算法·链表