Prim算法 (普里姆)

定义

普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。

原理

设图 G = (V,E)所有顶点的集合为V,MST中顶点的集合为T。

①  从G中选取任意顶点作为MST的根,将其添加至T。

②  循环执行下述处理直至T=V

      在连接T内顶点与V-T内顶点的边中选取权值最小的边 (),将其作为MST的边,并将 u 添至T。

实现

代码

#include<bits/stdc++.h>
using namespace std;
const int inf=0x3f3f3f3f;
const int maxn=1005;
struct node
{
  int v,w;
  node(){}
  node(int a,int b) {v=a;w=b;}
};
vector<node> edge[maxn];
int n,m;
void prim();
int main()
{
  int i,from,to,w;
  scanf("%d%d",&n,&m);
  for(i=0;i<m;i++)
  {
    scanf("%d%d%d",&from,&to,&w);
    edge[from].push_back(node(to,w));
    edge[to].push_back(node(from,w));
  }
  prim();
  system("pause");
  return 0;
}
void prim()
{
  int i,j,k,f,mmin,sum=0,vis[maxn]={0},dis[maxn];
  fill(dis,dis+maxn,inf);
  dis[0]=0;
  for(i=0;i<=n;i++)
  {
      mmin=inf;
      for(j=0;j<=n;j++)
        if(!vis[j]&&mmin>dis[j])
            mmin=dis[f=j];
      
      sum+=mmin;
      vis[f]=1;
      for(j=0;j<edge[f].size();j++)
      {
          if(!vis[edge[f][j].v]&&dis[edge[f][j].v]>edge[f][j].w)
            dis[edge[f][j].v]=edge[f][j].w;
        }
    }
    printf("最小生成树的权值为%d",sum);
}

转载于:https://www.cnblogs.com/VividBinGo/p/11578270.html

banke8061
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Prim算法普里姆算法
数据结构和算法教程(C语言版)
01-03 987
O()。由此可以断定,普里姆算法的运行效率只与连通网中包含的顶点数有关,而和连通网含有的边数无关。在边稠密的连通网中查找最小生成树,可以优先考虑 Prim 普里姆算法。如果连通网中所含边的绸密度不高,则建议使用克鲁斯卡尔算法。当前阅读的是整套数据结构和算法教程中的一节内容,想系统学习数据结构和算法的读者,可以前往教程目录页面系统的学习,加我 q(834937624)获取教程的完整 PDF 电子版。
最小生成树之Prim(普里姆算法
热门推荐
Yi_xiaoqiang的博客
05-11 4万+
Prim算法是解决最小生成树的经典算法之一。本博客以个人的理解简略地对Prim算法进行介绍以及解剖。
算法之「普里姆(Prim)算法
weixin_33811961的博客
04-25 1400
普里姆算法 普里姆算法(Prim's algorithm)是图中的一种算法,可在加权连通图中搜索最小生成树。 该算法的作用就是根据图中权值找到连接所有顶点的最短路径,也就是连接所有顶点的最小权值之和,也是这个加权图中的最小生成树。 普里姆算法步骤 1.选取权值最小边的其中一个顶点作为起始点。 2.找到离当前顶点权值最小的边,并记录该顶点为已选择。 3.重复第二步,直到找到所有顶点,就找到了图的最小...
普里姆算法思路
菜鸟的逆袭
09-08 1万+
算法思想:可取图中任意一个顶点V作为生成树的根,之后若要往生成树上添加顶点W,则在顶点V和W之间必定存在一条边。并且该边的权值在所有连通顶点V和W之间的边中取值最小。 一般情况下,假设n个顶点分成两个集合:U(包含已落在生成树上的结点)和V-U(尚未落在生成树上的顶点),则在所
普利算法
LeeBlog
08-27 2652
【问题导入】 1)有胜利乡有7个村庄(A, B, C, D, E, F, G) ,现在需要修路把7个村庄连通 2)各个村庄的距离用边线表示(权) ,比如 A – B 距离 5公里 3)问:如何修路保证各个村庄都能连通,并且总的修建公路总里程最短? 【思路分析】 修路问题本质就是就是最小生成树问题, 先介绍一下最小生成树(Minimum Cost Spanning Tree),简...
普里姆算法
qq_44646353的博客
11-03 350
#include<stdio.h> #include<iostream> #include<algorithm> using namespace std; #define MaxInt 32767 #define MaxNum 100 typedef struct{ int adjvex;//最小边在u中的那个顶点 int lowcost;//最小边上的...
Prim算法 MATLAB实现_prim算法_
10-02
Prim算法是一种经典的图论算法,主要用于寻找加权无向图中的最小生成树。这个最小生成树的概念是指在不增加边的权重的情况下,连接图中所有顶点的树形子图。Prim算法是解决这一问题的有效方法之一,尤其适用于稠密图...
Prim(普里姆)算法求最小生成树的思想及C语言实例讲解
12-25
Prim 算法思想: 从任意一顶点 v0 开始选择其最近顶点 v1 构成树 T1,再连接与 T1 最近顶点 v2 构成树 T2, 如此重复直到所有顶点均在所构成树中为止。 最小生成树(MST):权值最小的生成树。 生成树和最小生成树的...
prim(普里姆)算法和kruska
最新发布
04-07
prim算法和kruskal算法是两种解决最小生成树的算法Prim算法是基于点的贪心算法,从一个点出发逐步扩展生成树。具体地,每次从已生成的树中选出一个与树中距离最小的点,加入到树中。这个过程直到将所有点加入树中为止。 Kruskal算法是基于边的贪心算法,将所有边按照边权从小到大排序,从小到大地枚举每条边,将可接受的边加入到已生成的树中。具体来说,如果该边的两个端点不在同一个集合中,即加入该边不会形成环,则可以将该边加入到当前生成树中。这个过程一直持续到生成树中有n - 1条边为止。
0
原创
3
点赞
8
收藏
0
粉丝
关注
私信
写文章

热门文章

  • 关节点 850
  • Floyd算法 (弗洛伊德) 432
  • 欧拉函数|降幂 421
  • 矩阵构造 366
  • CF 337D Book of Evil 346

最新文章

  • 关节点
  • SPFA算法
  • Floyd算法 (弗洛伊德)
2019年69篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家仿真玻璃钢雕塑设计制作玻璃钢花盆联系方式深圳玻璃钢雕塑公司哪家好玻璃钢鹿雕塑厂商销售潮州玻璃钢女神人物雕塑厂家江西水果玻璃钢雕塑市场玻璃钢花盆供应仿古玻璃钢雕塑小品商场美陈问题图片酒店玻璃钢造型雕塑制作商场运动时尚区美陈广州玻璃钢红军雕塑迪斯尼玻璃钢雕塑章鱼商场端午节美陈装饰昭通市玻璃钢雕塑批发厂家广州玻璃钢景观人物雕塑毕节商场美陈效果图山东商场美陈费用商场模特美陈茂名玻璃钢雕塑厂家肇庆玻璃钢鹿雕塑玻璃钢雕塑产品生产厂家河北商场创意商业美陈怎么样商场冬季美陈文案长春园林玻璃钢雕塑生产厂家永城玻璃钢雕塑厂家六安玻璃钢雕塑生产厂家贵州玻璃钢雕塑货源推荐嘉兴玻璃钢人物雕塑定做价格蝴蝶玻璃钢雕塑价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化