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

新手怎么搭建网站推荐就业的培训机构

新手怎么搭建网站,推荐就业的培训机构,新疆省建设厅网站,wordpress 要求ftp概念:普利姆(prim)算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有…

概念:普利姆(prim)算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。

1.1 规则

1).输入:一个加权连通图,其中顶点集合为V,边集合为E;

2).初始化:Vnew = {x},其中x为集合V中的任一节点(起始点),Enew = {},为空;

3).重复下列操作,直到Vnew = V:

a.在集合E中选取权值最小的边<u, v>,其中u为集合Vnew中的元素,而v不在Vnew集合当中,并且v∈V(如果存在有多条满足前述条件即具有相同权值的边,则可任意选取其中之一);

b.将v加入集合Vnew中,将<u, v>边加入集合Enew中;

4).输出:使用集合Vnew和Enew来描述所得到的最小生成树。

1.2 图例 

 

上图为原始的加权连通图。每条边一侧的数字代表其权值。 

 (1)顶点a被任意选为起始点。从a出发,有b.d.f与其直连,权值分别为2、5、3,b是距离a 最近的顶点,因此将a与ab高亮表示

(2)下一个顶点为距离a或b最近的顶点 ,由图可知,e距离b为2,c距离b为3,d距离a为5,f距离a为3,所以选择距离最近的顶点e,并将e与be高亮表示

(3) 同理可得,下一个顶点为f(或者c或者h),在这里我们选择f ,并将其顶点及对应的边高亮表示

(4)重复上述步骤,直到所有顶点都被选中。即得到最小生成树

 

1.3 算法实现 

 

import heapqdef prim(graph):""":param graph: 图的邻接表表示,格式为 {顶点: [(邻居, 权重), ...]}:return: 最小生成树的边列表和总权重"""if not graph:return [], 0# 获取起始顶点(任意选择一个顶点)start_vertex = next(iter(graph))# 初始化:已访问顶点集合、最小堆(存储(权重, 当前顶点, 前一顶点))、最小生成树边列表visited = set([start_vertex])heap = []mst_edges = []total_weight = 0# 将起始顶点的所有邻接边加入堆for neighbor, weight in graph[start_vertex]:heapq.heappush(heap, (weight, start_vertex, neighbor))# 当堆非空且未访问所有顶点时while heap and len(visited) < len(graph):# 弹出当前权重最小的边weight, u, v = heapq.heappop(heap)# 如果目标顶点已访问,跳过if v in visited:continue# 将目标顶点标记为已访问,记录此边visited.add(v)mst_edges.append((u, v, weight))total_weight += weight# 遍历新加入顶点的所有邻接边for neighbor, w in graph.get(v, []):if neighbor not in visited:heapq.heappush(heap, (w, v, neighbor))return mst_edges, total_weight# 示例用法
if __name__ == "__main__":# 图的邻接表表示(无向加权图)graph = {'A': [('B', 2), ('D', 5)],'B': [('A', 2), ('C', 4), ('D', 1)],'C': [('B', 4), ('D', 3)],'D': [('A', 5), ('B', 1), ('C', 3)]}mst_edges, total = prim(graph)print("最小生成树的边:")for u, v, w in mst_edges:print(f"{u} - {v} : {w}")print("总权重:", total)

 运行结果显示:

http://www.cadmedia.cn/news/14151.html

相关文章:

  • 门户网站建设为企业带来的好处百度软件
  • 某企业网络营销方案百度seo培训课程
  • 造价师证书在建设部网站查询爱站网长尾词挖掘工具
  • 影楼公共网站网络营销与网站推广的区别
  • 南山网站建设公司吉林seo管理平台
  • 集约化网站建设情况口碑营销有哪些
  • 深圳建设网站制作网站权重划分
  • 东莞做企业营销型网站的公司深圳seo云哥
  • 大学招生网站建设seo排名点击手机
  • 建设网站最好的软件北京朝阳区
  • 啪啪男女禁做视频网站小程序自助搭建平台
  • 电子商务网站推广案例重庆网站排名公司
  • 上海建设工程信息查询网seo权威入门教程
  • 江苏建设人才考试网是啥网站原创文章代写
  • 电商小白如何做网店运营seo搜索引擎官网
  • 高端网站开发地址百度百科搜索入口
  • 网站建设有哪些工作必应搜索引擎怎么样
  • 网页升级紧急通知狼急通知优化网站快速排名软件
  • 贺州同城购物网站建设百度营销推广
  • 网站建设分录怎么开baidu 百度一下
  • 海外网络加速器广州seo成功案例
  • 做网站业务员如何跟客户沟通网站优化系统
  • 网站建设是 口号百度热搜关键词排名优化
  • 必须重视的问题之一杭州seo工作室
  • 做网站可行性分析seo推广外包
  • 成都包装设计seo优化首页
  • 合肥网站定制公司代做seo关键词排名
  • 学校网站建设多少钱seo网站优化经理
  • 品牌型网站有哪些优化大师官方网站
  • 沈阳微网站建设有什么推广的平台