当前位置: 首页 > 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.zqtcl.cn/news/277016/

相关文章:

  • 网站没有根目录国内互联网建站公司排名
  • 做网站需要架构师吗鞍山贴吧最新消息
  • 大连网站关键词推广网站建设合同报价
  • 网站维护费用一年多少广州h5网站建设
  • 如何搭建静态网站源码手机开发软件app的工具
  • 之前做的网站推广怎么删除专业做网站官网
  • 泉州做 php 网站宁波信息港
  • 网站建设专员招聘如何建立网站会员系统
  • 佛山网站关键词自助建站教程
  • 海口网站seo做网站域名后缀选择
  • 网站建设新手看什么书网络营销推广师
  • 小浣熊做单网站观看床做视频网站
  • 网站版面布局结构图门户网站要求
  • 网站左侧广告代码网站建设交接协议书
  • dedecms网站上传华为网络营销案例分析
  • wordpress搭建站点龙岗网站建设代理商
  • 做销售网站要多少钱建立网站的流程
  • 视频类网站如何做缓存网页设计框架怎么写
  • wordpress建站访问提示不安全网页加速器哪个最好用
  • 网博士自助建站系统下载毕业设计代做网站唯一
  • 江西网站建设优化服务营销软文范例大全100字
  • 图片类网站怎样做高并发专业做旗袍花的网站是什么网站
  • 我要建网站需要什么专业网站制作全包
  • 网站开发合同印花税自定义手机网站建设
  • 营销型网站开发流程制作网站需要钱吗
  • 提供有经验的网站建设百度识图识别
  • html手机网站怎么做湖南关键词优化品牌推荐
  • 网站定制开发收费标准是多少易语言如何做浏网站
  • 网站怎么做实名认证新手怎么开婚庆公司
  • .net做网站用什么技术网站优化排名方案