求最小生成树(Prim算法)(1075)

【算法】最小生成树之prim 1.prim算法 2.问题 2.1 POJ 1258 源代码 #include "stdio.h" #include "stdlib.h" #define MAX 100 int farm[MAX][MAX]={0}; void init(int N) { int i,j; for(i=0;i<N;i++) for(j=0;j<N;j+ 阅读详情

Description

求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。

Input

第一行为图的顶点个数n
第二行为图的边的条数e
接着e行为依附于一条边的两个顶点和边上的权值

Output

最小生成树中的边。

Sample Input

ABCDEF
A B 6
A C 1
A D 5
B C 5
C D 5
B E 3
E C 6
C F 4
F D 2

Sample Output

(A,C)(C,F)(F,D)(C,B)(B,E)


代码

#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;

typedef struct
{
    int n;
    int e;
    char data[500];
    int edge[500][500];
}Graph;

typedef struct
{
    int index;
    int cost;
}mincost;

typedef struct
{
    int x;
    int y;
    int weight;
}EDGE;


typedef struct
{
    int index;
    int flag;
}F;

void create(Graph &G, int n, int e)
{
    int i, j, k, w;
    char a, b;
    for (i = 0; i< n; i++)
        cin >> G.data[i];
    for (i = 0; i< n; i++)
    for (j = 0; j< n; j++)
    {
        if (i == j)
            G.edge[i][j] = 0;
        else
            G.edge[i][j] = 100;
    }

    for (k = 0; k< e; k++)
    {
        cin >> a;
        cin >> b;
        cin >> w;
        for (i = 0; i< n; i++)
        if (G.data[i] == a) break;
        for (j = 0; j< n; j++)
        if (G.data[j] == b) break;

        G.edge[i][j] = w;
        G.edge[j][i] = w;
    }
    G.n = n;
    G.e = e;
}
#define inf 32767
void Prim(Graph &G, int v)
{
    int lowcost[100];
    int min, closest[100], i, j, k;
    for (i = 0; i < G.n; i++)
    {
        lowcost[i] = G.edge[v][i];
        closest[i] = v;
    }
    for (i = 1; i < G.n; i++)
    {
        min = inf;
        for (j = 0; j < G.n; j++)
        {
            if (lowcost[j] && lowcost[j] < min)
            {
                min = lowcost[j];
                k = j;
            }
        }
        cout << '(' << G.data[closest[k]] << ',' << G.data[k] << ')';
        lowcost[k] = 0;
        for (j = 0; j < G.n; j++)
            if (G.edge[k][j] && G.edge[k][j] < lowcost[j])
            {
                lowcost[j] = G.edge[k][j];
                closest[j] = k;
        }
    }
}



int main()
{
    Graph my;
    int n, e;
    cin >> n >> e;
    create(my, n, e);
    Prim(my, 0);
    return 0;
}
C# WinForm和Sherlock进行对接 文章目录 前言 一、使用步骤 二、使用步骤 1.引入库 2.读入数据 总结 前言 本人公司最近在做一款瑕疵检测的视觉项目,项目中利用Sherlock从相机中取图和对图像进行视觉处理,然后将图像和数据传输到项目中。这过程中软件需要和Sherlock进行图像和数据的传递,这就需要WinForm和Sherlock进行对接,但我在网上查找了许久能用上的资料十分有限,所以我决定写下这篇文章,来做一次总结,同时也希望能帮助到同样在为此问题困扰的你。 一、使用步骤 废话不... 阅读详情

相关推荐

手把手教你用SpringBoot+Vue3+Docker从零搭建一个在线OJ系统(附完整源码)

本文详细介绍了如何使用SpringBoot、Vue3和Docker从零搭建一个在线OJ系统,涵盖前后端开发、判题机实现及Docker容器化部署。通过完整的源码和实战步骤,帮助开发者掌握OJ系统的核心架构与关键技术,适用于算法训练、编程竞赛等场景。

weixin_42648844的博客 297

(笔记整理未完成)【图论】求单源最短路径

学习求单源最短路径的算法

gzkeylucky的博客 607

badusb详细制作教程(两种方式实现远控)

badusb是一种几乎可以突破任何杀毒软件和防火墙的设备,堪称渗透测试利器 文章目录前言一、什么是badusb?二,badusb的优点三,badusb是如何攻击的?badusb原理HID攻击漏洞产生原因三、准备步骤1.设备2,编辑器的安装与设置四,编写代码(重点)第一种: SEToolkit + badusb实现PowerShell注入攻击第二种:Cobalt Strike + badusb 实现PowerShell注入攻击五,烧录六,badusb有多强大攻击场景总结 BadUSB是《黑客军团》中

Ghost_system的博客 1万+

SWUST OJ#1075(求最小生成树(Prim算法))

目录 题目 动态演示视频 思路 代码部分 小结 题目 动态演示视频 最小生成树(Prim算法) 思路 这里主要说一下,下面代码中的minn[]数组的内涵,这个数组是动态随时变化的,里面存储的是已访问节点集合到未访问节点集合中的某一个元素的最短距离,比如minn[4],就是表示到顶点编号为4的最短距离,如果有一个编号为3的顶点被加入了已访问节点的集合,那就要更新minn[]数组中的数据,万一从顶点3出发到某一个未访问节点集合中的元素的距离更短呢?朋友,你觉得呢?(..

weixin_62268437的博客 1168

训练AI:从数据收集到模型部署的完整指南

如果你刚开始接触AI,建议先学习一些基础的编程和机器学习知识,还可以使用现成的AI平台和工具来帮助你训练AI模型。在这篇文章中,我们将详细探讨从数据收集到模型部署的完整步骤,并提供一些有用的技巧和工具,以帮助你成功地训练自己的AI模型。在收集数据时,你需要从可靠的数据源(如数据仓库、数据集市、API接口)获取数据,确保数据的准确性和完整性。常用的划分比例是70%的数据集用于训练模型、15%的数据集用于验证模型,5%的数据集用于超参数调整,最后10%的数据集用于测试模型的性能。测试数据集用于测试模型的性能。

a_wsnd的博客 4166

深度学习中的注意力机制

最近两年,注意力模型(Attention Model)被广泛使用在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注与深入了解的核心技术之一。本文以机器翻译为例,深入浅出地介绍了深度学习中注意力机制的原理及关键计算机制,同时也抽象出其本质思想,并介绍了注意力模型在图像及语音等领域的典型应用场景。

优快云人工智能 4万+

SWUST OJ 1075: 求最小生成树(Prim算法)

题目描述 求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。

无奈清风吹过的博客 1119

【QT开发教程】QMatrix4x4类详解及实战应用:Qt中的4x4矩阵变换

在计算机图形学和三维图形应用中,矩阵变换是一个核心概念。Qt框架提供了QMatrix4x4类,用于处理4x4矩阵变换,帮助开发者在三维空间中进行复杂的几何计算。本文将深入探讨QMatrix4x4的功能及其在Qt应用中的实际应用。

科技改变人类,技术成就未来 726

数据结构 最小生成树 prim算法(普里姆算法)C语言实现

我们可以将定义理解为:将图的所有顶点分为两类,A类(保存已经查找过的顶点),B类(保存未查找过的顶点),从任一顶点开始,并将其从B类移至A类,然后开始寻找B类中(的顶点)到A类顶点之间权值最小的顶点,将其从B类中移至A类,重复上述操作,直至B类中没有顶点。所走过的顶点和边就是该连通图的最小生成树。

m0_62341092的博客 1万+

Android 14.0 系统开机屏幕设置默认横屏显示

在14.0的系统ROM产品定制化开发中,对于产品需求来说,由于是宽屏设备所以产品需要开机默认横屏显示,开机横屏显示这就需要从 两部分来实现,一部分是系统开机动画横屏显示,另一部分是系统屏幕显示横屏显示,从这两方面就可以做到开机默认横屏显示了

安卓兼职framework和app工程师的博客 2151

RK3588 平台imx334 驱动调试记录

rk3588调试imx334

xiaoning132的专栏 1791

Prim算法生成最小生成树(附完整的代码)

​ 在一给定的无向图G = (V, E) 中,(u, v) 代表连接顶点 u 与顶点 v 的边(即),而 w(u, v) 代表此边的权重,若存在 T 为 E 的子集且为无循环图,使得联通所有结点的的 w(T) 最小,则此 T 为 G 的最小生成树。 最小生成树其实是最小权重生成树的简称。 该题难度一般,关键在于理解构建的过程。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。建议手动演绎一下运算过程,可以加深理解!!! ...

执着&你 5210

Qt —— QWebEngineView加载谷歌离线地图(包含离线地图瓦片下载制作、附谷歌地图开发文档)

  关注 微信公众号搜索"Qt_io_"或"Qt开发者中心"了解更多关于Qt、C++开发知识.。 笔者 - jxd

1万+

swustoj求最小生成树(Prim算法)(1075)

求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。 Description 第一行为图的顶点个数n  第二行为图的边的条数e  接着e行为依附于一条边的两个顶点和边上的权值 Input 最小生成树中的边。 Output 1 2 3 4

Swust_ZzK的博客 1336

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SWUST OJ 1075 求最小生成树(Prim算法)

求最小生成树(Prim算法) 我对提示代码做了简要分析,提示代码大致写了以下几个内容 给了几个基础的工具,邻接表记录图的一个的结构体,记录Prim算法中最近的边的结构体,记录目标边的结构体(始末点,值)。 初始化记录了图,规定了从0号节点开始构建。 给了这么多东西,不能不用,对吧,下面就是题目以及算法 1000(ms) 10000(kb) 2490 / 4945 Tags: 生成树 求出给定无...

可乐的博客 1970

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

西南科技大学OJ题 求最小生成树(Prim算法)1075

求最小生成树(Prim算法) 1000(ms) 10000(kb) 2256/4495 Tags:生成树 求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。 #include< iostream> using namespace std; typedef struct {...

1161

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

SWUST OJ1075: 求最小生成树(Prim算法)

题目描述 求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。 #include< iostream> 使用命名空间 std; typedef struct { int n; int e; 字符数据[500]; 整型边[500][500]; }图形; typedef struct { int index; 整型成本; }mincost; typedef struct { int x; int y; 整.

weixin_63587703的博客 1581

prim算法 求最小生成树 1075

生成树 贪心 求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。 Description 第一行为图的顶点个数n 第二行为图的边的条数e 接着e行为依附于一条边的两个顶点和边上的权值 Input 最小生成树中的边。 Output 1 2 3 4 5

swust_t_p的博客 594

求最小生成树(Prim算法)swust oj#1075

还是prim模板只不过因为要存路径让这道题有了一点难度。 思路:prim模板再用一个辅助数组存每条顶点间的最短路径的起点。 附代码: #include <iostream> #include <map> #include <cstdio> #include <cstring> #include <vector> #include <...

chineseherofeng的博客 1029

swust.oj.1075求最小生成树(Prim算法)

求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。输入第一行为图的顶点个数n 第二行为图的边的条数e 接着e行为依附于一条边的两个顶点和边上的权值输出最小生成树中的边。样例输入6 10 ABCDEF A B 6 A C 1 A D 5 B C 5 C D 5 B E 3 E C 6 C F 4 F D 2 E F ...

向着曙光前进的博客 1538

SWUST OJ 1075: 求最小生成树(Prim算法)C++实现

第一行为图的顶点个数n第二行为图的边的条数e接着e行为依附于一条边的两个顶点和边上的权值。

Ljy的博客 1049

1075: 求最小生成树(Prim算法)

题目描述 求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。 题目所给代码如下: #include<iostream> using namespace std; typedef struct { int n; int e; char data[500]; int edge[500][500]; }Graph; typedef struct { int index;

chen10151015的博客 965

堆优化prim算法C语言,最小生成树----prim算法的堆优化

题目描述如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz输入输出格式输入格式:第一行包含两个整数N、M,表示该图共有N个结点和M条无向边。(N<=5000,M<=200000)接下来M行每行包含三个整数Xi、Yi、Zi,表示有一条长度为Zi的无向边连接结点Xi、Yi输出格式:输出包含一个数,即最小生成树的各边的长度之和;如果该图不连通则输出orz#include #i...

weixin_30915487的博客 893

swust oj 1075: 求最小生成树(Prim算法)

【代码】swust oj 1075: 求最小生成树(Prim算法)

2301_79744389的博客 979

swust oj 1075

求最小生成树(Prim算法) 1000(ms) 10000(kb) 2251 / 4487 Tags: 生成树 求出给定无向带权图的最小生成树。图的定点为字符型,权值为不超过100 的整形。在提示中已经给出了部分代码,你只需要完善Prim算法即可。 #include< iostream>using namespace std; typ...

abegvl6849的博客 1154
上一篇: 邻接矩阵存储简单路径
下一篇: POJ 1061 青蛙的约会(扩展欧几里得)
soldier_wing
博客等级 码龄11年 36粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值