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

长沙品质企业建站服务电话建筑建设网站建设

长沙品质企业建站服务电话,建筑建设网站建设,怎么建立公司网站,一个人看的浏览器适用情景在最小生成树问题当中#xff0c;涉及到权重和最小值。并且这个图是稠密图(n^2 ~ m)的情形下时间复杂度O(N^2)算法解释先得知道一下什么是无向图的生成树#xff0c;树总该知道的吧#xff0c;生成树就是包含这个无向图中的n个点#xff0c;并且有n-1条边#xff…适用情景在最小生成树问题当中涉及到权重和最小值。并且这个图是稠密图(n^2 ~ m)的情形下时间复杂度O(N^2)算法解释先得知道一下什么是无向图的生成树树总该知道的吧生成树就是包含这个无向图中的n个点并且有n-1条边其实说白了就是一棵树当于从原先的无向图的结构当中“拿取”一部分组成了一棵树这棵树就叫做无向图的生成树。然后这棵树既然有n-1条边图当中边是有权重的这些边的权重之和最小的那棵树就称为无向图的最小生成树首先对于这个图来说首先是无向图说白了也是一种特殊的有向图然后prim算法适用于稠密图那既然是稠密图的话想当然就是用邻接矩阵去存储边。然后对于这个图而言正权边与负权边无关紧要最后对于重边和自环重边的话肯定是取小的然后环的话是不可能出现在最小生成树当中需要回避的int dist[N][N];然后对于这个邻接矩阵初始化操作变成无穷大等会儿要进行取小操作然后就是把边输入到这个邻接矩阵当中无向图的话实际上就是一种特殊的有向图罢了memset(g,0x3f3f3f3f,sizeof(g)); int a,b,c; while(m--) {scanf(%d %d %d,a,b,c);g[a][b]g[b][a]MIN(g[a][b],c); }然后这是一个很关键的一步创建一个dist数组这个dist数组表示每个点到联通块集合的最短距离这个联通块集合不断壮大壮大最后就是我的一个最小生成树在一开始的话也全部都默认初始化为无穷大int dist[N]; memset(dist,0x3f,sizeof(dist));除此之外还需要一个数组st起标记作用就是去说明该点是否已经在联通块集合这个联通块集合不断壮大壮大最后就是我需要求的最小生成树当中。int st[N];然后接下来正式就是prim算法这个prim算法的话与迪杰斯特拉算法非常相似。首先是先去循环n次然后第一次循环的话由于是刚刚开始就选择一号点作为联通快集合的开拓点真正在联通块集合当中每一个点没有先来后到之分然后对于外循环的第一次他就是仅仅去更新一下别人的dist并且去标记一下自己已经进入联通块集合当中而已。然后对于接下来的每一次外循环与Dijkstra算法相似首先先去找集合外的距离联通块集合距离最近的点把这个点找到之后。先要去判断一下这个点距离集合的最短距离如果发现是初始化的那个无穷大值好那么这时候就说明生成不了最小生成树如果不是用这个点所能及更新它所能连接到的其他点的到联通块集合的最短距离并且呢把他自己呢要加入到联通块集合当中也就是说需要标记一下。by the way然后在这个过程当中我就可以去求我这个最后生成的最小生成树它的各边权重和。int res0; //最后生成的最小生成树它的各边权重和 for (int i0;in;i) {int t0;for (int j1;jn;j){if (st[j]0 (t0 || dist[j]dist[t])){tj;}}if (i!0){if (dist[t]0x3f3f3f3f){printf(impossible\n);return 0;}else{resdist[t];}}st[t]1;for (int j1;jn;j){dist[j]MIN(dist[j],g[t][j]); }} printf(%d\n,res);例题来源AcWing858. Prim算法求最小生成树 - AcWing题库#include stdio.h #include string.h #define MIN(a,b) ((a)(b)?(a):(b)) #define N 510 int g[N][N]; int dist[N]; int st[N]; int main() {memset(dist,0x3f,sizeof(dist));int n,m;scanf(%d %d,n,m);memset(g,0x3f3f3f3f,sizeof(g));int a,b,c;while(m--){scanf(%d %d %d,a,b,c);g[a][b]g[b][a]MIN(g[a][b],c);}int res0;for (int i0;in;i){int t0;for (int j1;jn;j){if (st[j]0 (t0 || dist[j]dist[t])){tj;}}if (i!0){if (dist[t]0x3f3f3f3f){printf(impossible\n);return 0;}else{resdist[t];}}st[t]1;for (int j1;jn;j){dist[j]MIN(dist[j],g[t][j]); }}printf(%d\n,res);return 0; }
http://www.yingshimen.cn/news/13153/

相关文章:

  • 医药网站设计深圳十大外包软件公司
  • 中山网站方案公众号文章排版编辑器
  • 婚纱摄影网站模版整站源码数字营销沙盘大赛
  • 住房和城乡建设部网站倪虹无锡微信网站开发
  • 新乐市做网站建设互联网站的目的
  • 榆林网站建设哪家好wordpress 网页
  • 怎样找回网站备案密码错误网站建设毕业答辩问题
  • 做网站信息网站建设公司费用
  • 郑州免费网站建设广告公司seo是什么职位
  • yahoo网站提交入口只做百度移动端网站可以吗
  • 网站建设与维护是什么意思网站推广优化外包
  • 最好用的网站建外贸网站
  • 软件自学网站服装设计手稿设计图
  • 手机端网站开发页全网营销一站式推广
  • 什么是网站目录结构济南专业做网站公司哪家好
  • 医院网站建设细节自己做店招的网站
  • 平顶山网站建设价格韶关市网站建设
  • 网站建设兼职平台邢台招聘信息网
  • 域网站名分类网站开发的8个步骤
  • 网站要多钱wordpress发布模块支持5.x
  • 吉林网站优化电子商务平台是什么意思
  • 做网站不挣钱网址缩短在线生成
  • 网站建设登录注册怎么做医联体网站建设
  • 空间注册网站扁平化手机网站
  • 南城网站建设公司案例泰安企业网站seo
  • 关于电子商务网站建设的论文外包项目网站
  • 想建设网站wordpress分类的id
  • 系统的超级宗门seo网站关键词优化多少钱
  • 网站做查赚钱电子商务网站优化方案
  • 平台建设网站公司长沙寸金网络营销网址