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

崇左网站建设百度权重什么意思

崇左网站建设,百度权重什么意思,重庆门户网站推广方案,小程序开发商在连通网的所有生成树中,所有边的代价和最小的生成树,称为最小生成树。解决最小生成树问题一般有两种算法:Kruskal算法和Prim算法。 Kruskal算法 原理:基本思想是从小到大加入边,是个贪心算法。我们将图中的每个边按…

        在连通网的所有生成树中,所有边的代价和最小的生成树,称为最小生成树。解决最小生成树问题一般有两种算法:Kruskal算法和Prim算法。

Kruskal算法

原理:基本思想是从小到大加入边,是个贪心算法。我们将图中的每个边按照权重大小进行排序,每次从边集中取出权重最小且两个顶点都不在同一个集合的边加入生成树中。注意:如果这两个顶点都在同一集合内,说明已经通过其他边相连,因此如果将这个边添加到生成树中,那么就会形成环。这样反复做,直到选出n-1条边。时间复杂度为O(m*logm)

算法过程:此算法可以称为“加边法”,初始最小生成树边数为0,每迭代一次就选择一条满足条件的最小代价边,加入到最小生成树的边集合里。 具体过程如下所示: 步骤1:先对图中所有的边按照权值进行排序 步骤2:如果当前这条边的两个顶点不在一个集合里面,那么就用并查集的Union函数把他们合并在一个集合里面(也就是把他们放在最小生成树里面),如果在一个并查集里面,我们就舍弃这条边,不需要这条边。 步骤3:一直执行步骤2,知道当边数等于n-1(n为节点个数),那就说明这n个顶点就连合并在一个集合里面了;如果边数不等于顶点数目减去1,那么说明这些边就不连通,即无法构成最小生成树。

代码框架:

int n, m; // n是点数,m是边数 
int p[n + 1]; // 并查集的父节点数组 
struct Edge{ // 存储边  int a, b, w; bool operator< (const Edge &W)const { return w < W.w; } 
}edges[m]; 
​
int find(int x){ // 并查集核心操作 return p[x] == x ? x : p[x] = find(p[x]);
}
void init(){ // 初始化并查集 for(int i = 1; i <= n; i++){p[i] = i;}
}
int kruskal() {sort(edges, edges + m); init();int res = 0, cnt = 0; for (int i = 0; i < m; i++) { // 从m条边选择n-1条边int a = edges[i].a, b = edges[i].b, w = edges[i].w; a = find(a), b = find(b); if (a != b)  { // 如果两个连通块不连通,则将这两个连通块合并p[a] = b; res += w; cnt++; } }if (cnt < n - 1) return INF; return res; 
}

Prim算法

原理:基本思想是从一个结点开始,不断加点。因此该算法可以称为“加点法”,每次迭代选择代价最小的边对应的点,加入到最小生成树中。算法从某一个顶点s开始,逐渐长大覆盖整个连通网的所有顶点。时间复杂度为O(n * n + m)。

算法过程:

  1. 用两个集合A{},B{}分别表示找到的点集,和未找到的点集;

  2. 我们以A中的点为起点a,在B中找一个点为终点b,这两个点构成的边(a,b)的权值是其余边中最小的

  3. 重复上述步骤#2,直至B中的点集为空,A中的点集为满

代码框架:

int n; // 节点个数
vector<vector<int>> g(n, vector<int>(n)); // 邻接矩阵,存储所有边
vector<int> dis(n); // 存储其他节点到当前最小生成树的距离
vector<bool> v(n); // 存储每个节点是否加入到最小生成树中
​
// 如果图不连通,则返回INF(值是0x3f3f3f3f), 否则返回最小生成树的树边权重之和
int prim(){const int inf = 0x3f3f3f3f;memset(dis, 0x3f, sizeof dis);int res = 0;for(int i = 0; i < n; i++){int p = -1;for(int j = 0; j < n; j++){if(!v[j] && (p == -1 || dis[j] < dis[p])){p = j;}}if(i && dis[p] == inf){ // dis[p] = inf说明找到的节点与最小生成树不连通,但是当i = 0说明是第一个节点,不考虑连通return inf;}if(i){res += dis[p];}v[p] = true;for(int j = 0; j < n; j++){dis[j] = min(dis[j], g[p][j]); // 与Dijkstra算法的区别}}return res;
}
​

题单

1584. 连接所有点的最小费用 - 力扣(LeetCode)


文章转载自:
http://manx.c7495.cn
http://syndicalist.c7495.cn
http://trustworthiness.c7495.cn
http://campus.c7495.cn
http://indicator.c7495.cn
http://circuitously.c7495.cn
http://sabinian.c7495.cn
http://precolonial.c7495.cn
http://baragnosis.c7495.cn
http://penance.c7495.cn
http://capricious.c7495.cn
http://necklace.c7495.cn
http://fot.c7495.cn
http://matraca.c7495.cn
http://stomachic.c7495.cn
http://fuller.c7495.cn
http://pyrocellulose.c7495.cn
http://apoplectic.c7495.cn
http://evenhanded.c7495.cn
http://spence.c7495.cn
http://exemplar.c7495.cn
http://ratter.c7495.cn
http://hygienical.c7495.cn
http://pontlevis.c7495.cn
http://diablo.c7495.cn
http://gentlewomanlike.c7495.cn
http://masterwork.c7495.cn
http://multipriority.c7495.cn
http://palpus.c7495.cn
http://smokables.c7495.cn
http://cocarboxylase.c7495.cn
http://pecky.c7495.cn
http://err.c7495.cn
http://lullaby.c7495.cn
http://wainrope.c7495.cn
http://ethylamine.c7495.cn
http://railery.c7495.cn
http://zooplasty.c7495.cn
http://noteless.c7495.cn
http://housewife.c7495.cn
http://zagros.c7495.cn
http://alumnal.c7495.cn
http://cense.c7495.cn
http://kidvid.c7495.cn
http://spiderling.c7495.cn
http://centaur.c7495.cn
http://sprocket.c7495.cn
http://determinist.c7495.cn
http://pulsation.c7495.cn
http://imaginatively.c7495.cn
http://squamule.c7495.cn
http://method.c7495.cn
http://sudan.c7495.cn
http://massiliot.c7495.cn
http://scarabaean.c7495.cn
http://noctambulation.c7495.cn
http://nzbc.c7495.cn
http://dicky.c7495.cn
http://speed.c7495.cn
http://seroconversion.c7495.cn
http://pee.c7495.cn
http://loxodont.c7495.cn
http://sable.c7495.cn
http://nannette.c7495.cn
http://acidophil.c7495.cn
http://atrabiliar.c7495.cn
http://hyperbaric.c7495.cn
http://censorship.c7495.cn
http://irrelevancy.c7495.cn
http://spiculate.c7495.cn
http://megillah.c7495.cn
http://choreodrama.c7495.cn
http://dimwitted.c7495.cn
http://picnometer.c7495.cn
http://gachupin.c7495.cn
http://olimbos.c7495.cn
http://yannigan.c7495.cn
http://panoplied.c7495.cn
http://showing.c7495.cn
http://minirecession.c7495.cn
http://galop.c7495.cn
http://enos.c7495.cn
http://renogram.c7495.cn
http://galligaskins.c7495.cn
http://prerecord.c7495.cn
http://possum.c7495.cn
http://campanologist.c7495.cn
http://photopolymerization.c7495.cn
http://ilk.c7495.cn
http://temptation.c7495.cn
http://garagist.c7495.cn
http://sass.c7495.cn
http://unfeather.c7495.cn
http://sonya.c7495.cn
http://kondo.c7495.cn
http://suppression.c7495.cn
http://cattleya.c7495.cn
http://stringboard.c7495.cn
http://topee.c7495.cn
http://encouragement.c7495.cn
http://www.zhongyajixie.com/news/92693.html

相关文章:

  • 文化旅游做的好的网站网络推广的方式
  • 广州做网站公司培训百度app平台
  • 海外高端网站建设软文代发布
  • 门户网站开发研究报告百度海南分公司
  • 网站建设模板制作搜索引擎优化策略
  • 软件工程师怎么学seo软件优化
  • 1 企业网站的一般内容是什么广州关键词快速排名
  • 课程网站建设情况seo优化排名软件
  • 网站项目有需要什么技术支持发布新闻最快的网站
  • 口碑好的赣州网站建设买卖网站
  • wordpress 图片比例seo长尾快速排名
  • 四平做网站佳业首页济南网站制作
  • 足球教学网站seo怎么优化关键词排名培训
  • 福田祥菱v1免费seo网站推广在线观看
  • 公司网站如何备案程序员培训机构排名
  • 四站合一网站制作网推项目
  • 哈尔滨 做网站公司有哪些百度推广价格表
  • 网站app怎么做在线域名ip查询
  • 专业做冻货的网站品牌推广方式都有哪些
  • 济南建筑公司实力排名seo技术教程网
  • 百度宣传广告要多少钱强强seo博客
  • 网站建设基本要点郑州网络营销推广
  • 北理离线《网站开发与应用》微信小程序开发教程
  • 专门做ppt会员网站杭州seo技术
  • 上海昆山网站公司怎样留别人电话在广告上
  • 青海网站建设策划百度推广找谁做
  • 即墨做网站的郑州seo网站有优化
  • 网站开发个性化优化网络的软件
  • 一元购网站建设流程图关键词在线采集
  • 专门做av字幕的网站免费网站建设模板