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

郑州站做微信封面模板下载网站

郑州站,做微信封面模板下载网站,淘宝运营一般要学多久,WordPress古腾堡插件最小生成树 (Minimum Spanning Tree) 最小生成树是图论领域的一个基本概念,适用于加权连通图,其中包括若干顶点(节点)以及连接这些顶点的边(边可以有权重)。在一个加权连通图中,生成树&#xf…

最小生成树 (Minimum Spanning Tree)

最小生成树是图论领域的一个基本概念,适用于加权连通图,其中包括若干顶点(节点)以及连接这些顶点的边(边可以有权重)。在一个加权连通图中,生成树(Spanning Tree)是一个无环子图,它包含图中的所有顶点,并且用最少数量的边将它们连接起来。注意,无环是指子图中不存在任何边的闭环,最少数量的边意味着任意两个顶点之间有且仅有一条路径相互到达。

“最小生成树”这一术语的“最小”指的是在所有可能的生成树中,边的权重之和最小的那一个。在实际应用中,最小生成树可以帮助找到在网络设计、电路设计等方面成本最低的方案。

我们来举一个简单的例子。假设有四个城市,每两个城市之间可以修建道路相连,不同的道路成本不同,现在的目标是花最少的成本将这四个城市全部连通。最小生成树算法即是解决此类问题的有效工具。

生成最小生成树的算法

接下来,我们将介绍四个生成最小生成树的经典算法,它们分别是克鲁斯卡尔(Kruskal)算法和普里姆(Prim)算法,以及相对少见的Borůvka算法和Sollin算法。

1. 克鲁斯卡尔(Kruskal)算法

克鲁斯卡尔算法是基于边的贪心策略。它的基本思想是按照边权重从小到大的顺序选择边,从而构造最小生成树。选取的边必须满足添加后不形成环路。

伪代码:
KRUSKAL(G):A = ∅                            // A将存储最小生成树的边对于G中的每个顶点v:MAKE-SET(v)将G中的所有边按权重由低到高排序对于每条边(u, v)按序做如下操作:if FIND-SET(u) ≠ FIND-SET(v):   // 检查u和v是否在树的不同分量中A = A ∪ {(u, v)}               // 将边(u, v)加入到A中UNION(u, v)                    // 将u和v的分量合并返回A

其中 MAKE-SET、FIND-SET 和 UNION 是不相交集合数据结构的操作,用于维护和查询顶点间是否存在环路。

2. 普里姆(Prim)算法

普里姆算法是基于点的贪心策略。在这个算法中,我们从任选的一个顶点开始构建最小生成树,逐步扩大树的范围,每一步都添加一条连接树与非树顶点且权重最小的边。

伪代码:
PRIM(G, w, r):                     // G是图,w是权重函数,r是开始顶点for each u ∈ G.V:u.key = ∞                      // 初始化所有顶点的键值为无穷大u.π = NIL                       // π属性用来记录最小生成树的父节点r.key = 0Q = G.Vwhile Q ≠ ∅:u = EXTRACT-MIN(Q)             // 从Q中取出键值最小的顶点ufor each v ∈ G.Adj[u]:         // 遍历u的所有邻居vif v ∈ Q and w(u, v) < v.key:v.π = u                     // 更新v的父节点为uv.key = w(u, v)             // 更新v的键值为u与v之间边的权重

在Prim算法中,EXTRACT-MIN(Q)是优先队列的操作,它用于选择权重最小的边,而G.Adj[u]表示图中与顶点u相邻的所有顶点集合。

3. Borůvka算法

Borůvka算法是最早的最小生成树算法之一,适用于稀疏图。算法的每个阶段为图中的每个连通分量选择一条权重最小的边,并将这些边添加到生成树中,直到图变为连通的。

伪代码:
BORUVKA(G):forest = each vertex in G is a separate treewhile there is more than one tree in the forest:for each tree T in the forest:find the smallest edge connecting T to another treeadd this edge to the forestreturn the edges added to the forest
4. Sollin算法

Sollin算法(也被称为Borůvka的改进版本)同样适用于稀疏图,其基本想法是在每个阶段找到每个连通分量键值最小的边,并将它们加入生成树,像Borůvka算法一样重复这个过程,直到所有分量合并到一起。

伪代码:
SOLLIN(G):Initialize a forest F with each vertex in G as a separate treewhile F has more than one tree dofor each tree T in the forest F dolet e = the lightest edge with one end in Tif there is no edge chosen for T or e is lighter than the already chosen edgechoose e for Tfor each edge e chosen in this round doif e connects two different trees thenadd e to the forest Freturn the forest F as the minimum spanning tree

在Sollin算法中,检查加入边e后是否会造成环路的操作通过查询树的根节点来实现,保证了每次迭代加入的边一定属于不同的连通分量。

如果你想更深入地了解人工智能的其他方面,比如机器学习、深度学习、自然语言处理等等,也可以点击这个链接,我按照如下图所示的学习路线为大家整理了100多G的学习资源,基本涵盖了人工智能学习的所有内容,包括了目前人工智能领域最新顶会论文合集和丰富详细的项目实战资料,可以帮助你入门和进阶。

链接: 人工智能交流群(大量资料)

在这里插入图片描述

http://www.15wanjia.com/news/158355.html

相关文章:

  • 个人网站优秀作品铝合金型材外发加工网
  • 网站建设费用要求黑群晖建设个人网站
  • wordpress账号和站内网辽宁城乡建设官方网站
  • 网站建设设计师建网站的步骤是哪些
  • 达孜网站建设怎么提高关键词搜索权重
  • 济南行知网站建设郑州网站建设天强科技
  • 网站建设哪家好首选万维科技黄骅打牌吧
  • 广州市民政局网站建设汽车租赁网站开发
  • 网站一般的后台深圳住房和建设局网站融悦居
  • 泰安做网站的公司wordpress插件vpn
  • 如何用二级域名做网站制作天下网站
  • 北京人才招聘网站网站科技感页面设计
  • 自己做的视频可以同时上传到几家网站电子商务网站设计模板
  • 易语言可以做网站wordpress默认主题12
  • 现在建网站挣钱吗wordpress程序版本
  • 公司网站模板下载专门看网站的浏览器
  • 大学网站开发模板免费下载网络推广营销
  • 怎么查网站的所有权开发公司专票
  • 做网络销售怎么建立网站seo查询百科
  • 政务服务 网站 建设方案宜昌本地网站
  • 宁波鄞州网站建设二手房网签合同在哪个网站做
  • 宁波建网站报价h5个人网站模板
  • 唐山免费自助建站模板上海家装设计网站
  • 网站建设预算模板wordpress 启用插件代码
  • 网站设计建议wordpress无法添加小工具
  • 购物网站建设需要注意什么黄石网站建设教程
  • 南京做公司网站的公司哪家好市场推广是做什么的
  • 有谁想做网站 优帮云推广策略
  • 电子商务网站开发实训体会wordpress 教程主题
  • 做图专业软件下载网站公司做网站的法律依据