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

网站优化公司价格如何计算电商网站模版

网站优化公司价格如何计算,电商网站模版,中国加盟网首页,合肥网站建设zgkr我们已经学了prim算法了,接下来我们来学一下cruskal算法,和prim算法不同的点就在于prim是不断的加结点,而cruskal是不断的加边,不断的加最小的边,我们需要把每个边的权值用结构体存起来,然后排序&#xff0…

我们已经学了prim算法了,接下来我们来学一下cruskal算法,和prim算法不同的点就在于prim是不断的加结点,而cruskal是不断的加边,不断的加最小的边,我们需要把每个边的权值用结构体存起来,然后排序,从小到大遍历边,不断的加边

如图,我们从权值最小的边开始

当我们把1,2权值为2的边加上去的话,就不符合我们要找生成树的性质了,

那我们怎么维护生成树呢?我们可以把形成生成树的这些结点都放在一个集合里,然后接下来看插入的边的两个结点是不是位于生成树集合里,如果位于生成树集合的话就不连了

OK,那么废话不多说,我们来实现一下代码吧

#include <iostream>
#include <algorithm>
using namespace std;
int n, m;
const int N = 2e5 + 10, INF = 0x3f3f3f3f;
struct node {int x;//结点1int y;//结点2int z;//权值 
}a[N];
int fa[N];
int find(int x)
{if (fa[x] == x) return x;return fa[x] = find(fa[x]);
}
void un(int x, int y)
{int px = find(x); int py = find(y);fa[px] = py;
}
bool cmp(const node& x, const node& y)
{return x.z < y.z;
}
int ret = 0;
int cnt = 0;//记录加入了几条边 
int kk()
{sort(a + 1, a + 1 + m, cmp);for (int i = 1; i <= m; i++){int x1 = a[i].x, y1 = a[i].y;int z1 = a[i].z;int fx = find(x1), fy = find(y1);if (fx != fy){ret += z1;cnt++;un(fx, fy);}}return cnt == n - 1 ? ret : INF;
}
int main()
{cin >> n >> m;for (int i = 1; i <= n; i++){fa[i] = i;}for (int i = 1; i <= m; i++){cin >> a[i].x >> a[i].y >> a[i].z;}int r = kk();if (r == INF) cout << "orz" << endl;else cout << r << endl;return 0;
}

http://www.dtcms.com/wzjs/537949.html

相关文章:

  • 江苏省城乡和住房建设厅网站注册网站后怎么建设
  • 建网站推广同一家公司可以做几个网站吗
  • 查询个人信息的网站网站建设图标图片
  • 卫浴洁具公司网站模板互联网大赛官网入口
  • 做视频网站投入多少杭州cms建站模板下载
  • 建站计划书lunix安装wordpress
  • 广州海珠做网站网站着陆页有多少个
  • 网站优化价格个人如何开发微信小程序
  • 内丘企业做网站有什么做家纺的网站
  • 在对方网站做友情链接西安app开发软件定制
  • 网站定制公司WordPress面包屑主题
  • 网站开发c手机网站菜单
  • 游戏网站建设流程app开发费用一览表
  • 永州公司做网站dedecms仿站
  • 为什么电子网站开发宝宝个人网站模板
  • 怎么能创建自己的网站东莞网站开发
  • 海南住房建设厅网站南丰网站建设
  • 做旅游网站的目的和意义万网域名登录
  • 网站建设上如何提高市场竞争力网站策划报告怎么写
  • 做平面资源比较好的网站wordpress 搭建教程 pdf
  • 大型 网站 建设 公司win7系统下动网站建设
  • 枣庄网站建设制作谷歌外贸推广怎么做
  • discuz做网站赚钱经历mvc网站入口asp
  • 城乡建设厅官方网站办事大厅深圳网站设计+建设首选
  • 陕西网站建设方案优化前端开发培训机构tuj
  • 手机可以搭建网站吗企业做的网站费入什么科目
  • 西安网站建设云速桂林wordpress
  • 苏州网页设计制作seo优化网站的手段
  • 怎样制作网站?河北省承德市兴隆县建设局网站
  • 微信怎么建设网站南昌网站建设设计