当前位置: 首页 > news >正文

最小生成树prim

 最小生成树(三)Prim算法及存储结构_哔哩哔哩_bilibili⁤

311 最小生成树 Prim 算法_哔哩哔哩_bilibili

#include <iostream>
#include <queue>
#include <string>
#include <stack>
#include <vector>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <algorithm>
#include <cstdlib>
#include <cstring>
#include <cmath>
using namespace std;#define ll unsigned long long
#define INF 0x7fffffff
typedef pair<int, int> PII;
struct Node {int v, w;
};
vector<Node> edge[6];
int dis[6], vis[6] = { 0 }, wsum = 0;void prim(int s) {for (int i = 0; i < 6; i++) dis[i] = INF;dis[s] = 0;priority_queue<PII> q; //{点与圈内的距离, 点}q.push({ 0, s });while (!q.empty()) {int x = q.top().second; q.pop();if (vis[x]) continue;vis[x] = 1;wsum += dis[x];for (auto a : edge[x]) {int v = a.v, w = a.w;if (dis[v] > w) {dis[v] = w;q.push({ -dis[v], v });}}}return;
}int main() {edge[0].push_back({ 1, 6 }), edge[1].push_back({ 0, 6 });edge[0].push_back({ 2, 1 }), edge[2].push_back({ 0, 1 });edge[0].push_back({ 3, 5 }), edge[3].push_back({ 0, 5 });edge[1].push_back({ 2, 5 }), edge[2].push_back({ 1, 5 });edge[1].push_back({ 4, 3 }), edge[4].push_back({ 1, 3 });edge[2].push_back({ 3, 5 }), edge[3].push_back({ 2, 5 });edge[2].push_back({ 4, 6 }), edge[4].push_back({ 2, 6 });edge[2].push_back({ 5, 4 }), edge[5].push_back({ 2, 4 });edge[3].push_back({ 5, 2 }), edge[5].push_back({ 3, 2 });edge[4].push_back({ 5, 6 }), edge[5].push_back({ 4, 6 });prim(0);cout << wsum;return 0;
}

http://www.lryc.cn/news/256755.html

相关文章:

  • 实用篇 | 一文学会人工智能中API的Flask编写(内含模板)
  • Si24R03—低功耗 SOC 芯片(集成RISC-V内核+2.4GHz无线收发器)
  • C# Winform 日志系统
  • 【Java 基础】27 XML 解析
  • 地图服务 ArcGIS API for JavaScript基础用法全解析
  • docker学习(八、mysql8.2主从复制遇到的问题)
  • React-hook-form-mui(三):表单验证
  • 【私域运营秘籍】4大用户调研方法,让你轻松掌握用户心理!
  • 2.8寸 ILI9341 TFTLCD 学习移植到STM32F103C8T6
  • Java利用TCP实现简单的双人聊天
  • 软件压力测试的重要性与用途
  • 【数据挖掘】国科大苏桂平老师数据库新技术课程作业 —— 第二次作业
  • Qt + MySQL(简单的增删改查)
  • postgresql设置免密登录
  • 视频汇聚/音视频流媒体视频平台/视频监控EasyCVR分享页面无法播放,该如何解决?
  • 机器学习-逻辑回归
  • Edge调用Aria2下载
  • 解密QQ号——C语言
  • 三、jvm中的对象及引用
  • Docker网络架构介绍
  • Android studio新版本aar包导入项目中配置
  • HBase-架构与设计
  • SpringBoot基础系列:工具类使用
  • 使用 nohup java - jar 不输出日志
  • 前端开发学习 (五) 生命周期函数、Ajax请求
  • TypeScript中的单件设计模式
  • 【无标题】安装环境
  • 一. 初识数据结构和算法
  • qt 使用百度在线地图 方法1
  • 轻快小miniconda3在linux下的安装配置-centos9stream-Miniconda3 Linux 64-bit