最小生成树Prim算法

embedded/2025/2/4 23:04:22/

文章目录

  • 最小生成树是什么
  • Prim算法是什么
    • 模板

最小生成树是什么

最小生成树是使图中连接起来与小的最小代价

在这里插入图片描述
上边这张图的最小生成树就是下图
在这里插入图片描述

Prim算法是什么

Prim算法就是给你一个起点,每次找与这个点相邻边的最小值,直到遍历每个节点

模板

#include <bits/stdc++.h>
#define lowbit(x) ((x)&(-x))
#define int long long
#define endl '\n'
#define PII pair<int,int> 
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
using namespace std;
int n,m,st[100],d[100];
struct asd{int v,w;
};
vector<asd>v[100];
void init()
{for(int i=0;i<=n;i++){st[i]=0;v[i].clear();d[i]=1e9;}
}
int prim()
{d[1]=0;int sum=0;for(int i=1;i<=n;i++){int u=0;for(int j=1;j<=n;j++){if(d[u]>d[j]&&!st[j])u=j;}sum+=d[u];st[u]=1;for(auto x:v[u]){if(d[x.v]>x.w)d[x.v]=x.w;}}return sum;} 
signed main()
{IOSint T=1;//cin>>T;while(T--){int a,b,c;while(cin>>n&&n){init();cin>>m;while(m--){cin>>a>>b>>c;v[a].push_back({b,c});v[b].push_back({a,c});} cout<<prim()<<endl;}}return 0;
}

http://www.ppmy.cn/embedded/159591.html

相关文章

【协议详解】卫星通信5G IoT NTN SIB32-NB 信令详解

一、SIB32信令概述 低轨卫星的移动性会导致地面用户设备覆盖不连续&#xff0c;为了解决这一问题&#xff0c;3GPP引入了SystemInformationBlockType32&#xff08;SIB32&#xff09;信令&#xff0c;为非连续覆盖预测提供卫星辅助信息。地面设备可以基于SIB32信令中的信息&am…

初级数据结构:栈和队列

目录 一、栈 (一)、栈的定义 (二)、栈的功能 (三)、栈的实现 1.栈的初始化 2.动态扩容 3.压栈操作 4.出栈操作 5.获取栈顶元素 6.获取栈顶元素的有效个数 7.检查栈是否为空 8.栈的销毁 9.完整代码 二、队列 (一)、队列的定义 (二)、队列的功能 (三&#xff09…

Maven工程核心概念GAVP详解:从命名规范到项目协作的基石

Maven工程核心概念GAVP详解&#xff1a;从命名规范到项目协作的基石 一、GAVP是什么&#xff1f; 在Maven工程中&#xff0c;GAVP是四个核心属性的缩写&#xff1a;GroupId、ArtifactId、Version、Packaging。这组属性为项目在Maven仓库中提供了唯一标识&#xff0c;类似于“项…

Van-Nav:新年,将自己学习的项目地址统一整理搭建自己的私人导航站,供自己后续查阅使用,做技术的同学应该都有一个自己网站的梦想

嗨&#xff0c;大家好&#xff0c;我是小华同学&#xff0c;关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 Van-Nav是一个基于Vue.js开发的导航组件库&#xff0c;它提供了多种预设的样式和灵活的配置选项&#xff0c;使得开发者可以轻松地定制出符合项目需求…

Unity实现按键设置功能代码

一、前言 最近在学习unity2D&#xff0c;想做一个横版过关游戏&#xff0c;需要按键设置功能&#xff0c;让用户可以自定义方向键与攻击键等。 自己写了一个&#xff0c;总结如下。 二、界面效果图 这个是一个csv文件&#xff0c;准备第一列是中文按键说明&#xff0c;第二列…

SpringBoot 引⼊MybatisGenerator

SpringBoot 引⼊MybatisGenerator 1. 引入插件2. 添加generator.xml并修改3. 生成文件 1. 引入插件 <plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.5</vers…

ECharts 样式设置

ECharts 样式设置 引言 ECharts 是一款功能强大的可视化库&#xff0c;广泛用于数据可视化。样式设置是 ECharts 中的重要一环&#xff0c;它能够帮助开发者根据需求调整图表的视觉效果&#xff0c;使其更加美观和易于理解。本文将详细介绍 ECharts 的样式设置&#xff0c;包…

IM 即时通讯系统-45-merua0oo0 IM 分布式聊天系统

IM 开源系列 IM 即时通讯系统-41-开源 野火IM 专注于即时通讯实时音视频技术&#xff0c;提供优质可控的IMRTC能力 IM 即时通讯系统-42-基于netty实现的IM服务端,提供客户端jar包,可集成自己的登录系统 IM 即时通讯系统-43-简单的仿QQ聊天安卓APP IM 即时通讯系统-44-仿QQ即…