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

网站建设哪个公司做得好网络运营商怎么看

网站建设哪个公司做得好,网络运营商怎么看,网站定制技术,qt网站开发文章目录 原理代码实现 原理 克鲁斯卡尔#xff08;Kruskal#xff09;算法是一种用于求解最小生成树#xff08;Minimum Spanning Tree#xff0c;MST#xff09;的贪心算法。最小生成树是一个连通加权无向图中生成树#xff08;即包含图中所有顶点并且是一棵树#xf… 文章目录 原理代码实现 原理 克鲁斯卡尔Kruskal算法是一种用于求解最小生成树Minimum Spanning TreeMST的贪心算法。最小生成树是一个连通加权无向图中生成树即包含图中所有顶点并且是一棵树其所有边的权值之和最小。 克鲁斯卡尔算法的基本思想是从图中所有边中选择权值最小的边并且保证选择的边不构成环路直到选取了 n-1 条边为止n 是顶点的数量。这样得到的就是最小生成树。 下面是克鲁斯卡尔算法的详细步骤 将图中的所有边按照权值进行升序排序。初始化一个空的最小生成树 MST。依次遍历排序后的边每次取出权值最小的边。判断当前取出的边是否会形成环路。若不会形成环路则将该边加入到最小生成树 MST 中。重复步骤 4直到最小生成树 MST 中包含了 n-1 条边其中 n 是图的顶点数量。 代码实现 def kruskal(graph):# 将图中的边按权值排序graph sorted((w, u, v) for u, nbrs in enumerate(graph) for v, w in nbrs)mst [] # 存储最小生成树的边parent list(range(len(graph))) # 并查集初始化每个节点的父节点是自己# 并查集的查找操作找到根节点def find(u):if u ! parent[u]:parent[u] find(parent[u])return parent[u]# 遍历排序后的边for w, u, v in graph:pu, pv find(u), find(v)if pu ! pv: # 如果两个顶点不在同一个连通分量中即不会形成环路mst.append((u, v, w)) # 将该边加入最小生成树parent[pv] pu # 合并两个连通分量return mst# 示例输入 graph [[(5, 1), (3, 2)],[(5, 0), (6, 2), (2, 3)],[(3, 0), (6, 1), (7, 3), (9, 4)],[(2, 1), (7, 2), (4, 4)],[(9, 2), (4, 3)] ]# 计算最小生成树 mst kruskal(graph) print(最小生成树, mst) 介绍代码的功能和实现原理 kruskal() 函数接受一个图 graph 作为输入并返回该图的最小生成树。首先将图中的边按照权值进行排序这可以通过列表推导式来完成。每条边表示为元组 (w, u, v)其中 w 是边的权值u 和 v 是边所连接的两个顶点的索引。初始化一个空列表 mst用于存储最小生成树的边。初始化一个列表 parent其中的每个元素表示一个节点的父节点最初都指向自己。这个列表将用于实现并查集。定义了一个内部函数 find(u)用于查找节点 u 所在连通分量的根节点。这个函数使用路径压缩技术可以快速找到根节点并且在查找过程中将路径上的节点直接连接到根节点以减少后续查找的时间。遍历排序后的边对每一条边 (w, u, v) 进行处理。对于每条边使用 find() 函数查找其两个顶点 u 和 v 所在连通分量的根节点 pu 和 pv。如果 pu 和 pv 不相等说明 u 和 v 不在同一个连通分量中加入这条边不会形成环路因此将其加入最小生成树 mst 中并将这两个连通分量合并。合并操作通过将 pv 的父节点指向 pu 来完成。最后返回最小生成树 mst。 这就是代码的主要功能和实现原理。它使用了克鲁斯卡尔算法来寻找最小生成树通过并查集来维护连通分量确保在构建最小生成树的过程中不会形成环路。
http://www.pierceye.com/news/277016/

相关文章:

  • 青岛建设集团招聘信息网站公司官网怎么制作
  • 本溪网站开发公司电话县蒙文网站建设汇报
  • 广州建网站有哪些怎么做网站建设赚钱
  • led视频网站建设邯郸建设信息网站
  • 开发网站培训班网站详情页用cdr做可以吗
  • 相亲网站开发与设计报告广州网站维护
  • 门户网站 技术方案北京感染人数最新消息
  • 网站制作过程流程酷家乐在线设计官网
  • 六年级做网站的软件小程序开发文档微信小程序
  • 做网站要准备哪些汕头建站公司模板
  • 杭州多语言网站建设网站转app工具
  • 一流的网站建设wordpress 读者墙
  • php 视频播放网站开发php做直播类型的网站
  • 网站建设氺金手指排名11wordpress手机端菜单
  • 存储网站建设软件界面设计图
  • 微信 公司网站 怎么做WordPress安装在Windows
  • 商丘给企业做网站的公司已备案域名租用
  • .net商城网站模板下载网站开发怎么对接客户
  • php程序员网站开发域名企业备案对网站的好处
  • 沈阳市城乡建设网站wordpress全文
  • 冉冉科技网站建设网络教学平台网址
  • 深圳网站设计建设公司宁波易通建设网站
  • 许昌网站建设公司网站的空间和域名
  • 公司查询网站查询系统wordpress简书主题
  • 公司网站 钓鱼网站ui设计交付物都包含哪些
  • seo网站导航建设技巧精东影视传媒文化管理公司
  • 做白酒的网站怎么查网站建设是哪家公司
  • 网站域名密码免费网站推广产品
  • 网站建设一般要多少费用申请网站官网
  • 金融网站织梦模板二手车网站建设