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

网站设置快捷方式到桌面做网站租用服务器

网站设置快捷方式到桌面,做网站租用服务器,百度知道首页官网,织梦手机网站分亨链接怎么做Otakar Boruvka 本文给出Boruvka算法的C#实现源代码。 Boruvka算法用于查找边加权图的最小生成树#xff08;MST#xff09;#xff0c;它早于Prim和Kruskal的算法#xff0c;但仍然可以被认为是两者的关联。 一、Boruvka算法的历史 1926年#xff0c;奥塔卡博鲁夫卡MST它早于Prim和Kruskal的算法但仍然可以被认为是两者的关联。 一、Boruvka算法的历史 1926年奥塔卡·博鲁夫卡Otakar Boruvka首次提出了一种求给定图的MST的方法。这在计算机出现之前就已经存在了事实上它被用来设计一个高效的配电系统。 Georges Sollin在1965年重新发现了它并将其用于并行计算。 二、Boruvka算法的思路 该算法的核心思想是从一组树开始每个顶点代表一棵孤立的树。然后我们需要不断增加边以减少孤立树的数量直到我们有一个单一的连接树。 让我们通过一个示例图逐步了解这一点 步骤0创建一个图表 步骤1从一堆未连接的树开始树的数量顶点的数量 步骤2当存在未连接的树时对于每个未连接的树 (1)以较小的重量找到它的边缘 (2)添加此边以连接另一棵树 三、Boruvka算法的源代码 1、核心代码 using System; using System.Collections; using System.Collections.Generic;namespace Legalsoft.Truffer.Algorithm {/// summary/// 图的连接边信息/// /summarypublic class EdgeInfo{/// summary/// 起始节点编码按一般教材习惯1起步/// /summarypublic int Start { get; set; } 0;/// summary/// 终点编码按一般教材习惯也从1起步/// /summarypublic int End { get; set; } 0;/// summary/// 边的权值/// /summarypublic int Weight { get; set; } 0;/// summary/// 构造函数/// /summary/// param namea/param/// param nameb/param/// param namec/parampublic EdgeInfo(int a, int b, int c){this.Start a;this.End b;this.Weight c;}}/// summary/// MST-Boruvka算法/// /summarypublic static class Boruvka_Minium_Spaning_Tree{private static int[] Parent { get; set; } null;private static int[] Minium { get; set; } null;/// summary/// 计算最小生成树MST的最小代价及树信息/// /summary/// param namegraph图信息边列表/param/// param nametree返回树信息边的列表/param/// returns/returnspublic static int Execute(EdgeInfo[] graph, out Listint tree){tree new Listint();// 计算最大节点编号int N 0;for (int i 0; i graph.Length; i){if (graph[i].Start N) N graph[i].Start;if (graph[i].End N) N graph[i].End;}Parent new int[N 1];for (int i 1; i N; i){Parent[i] i;}Minium new int[N 1];int result 0;int components N;while (components 1){for (int i 1; i N; i){Minium[i] -1;}for (int i 0; i graph.Length; i){if (Root(graph[i].Start) Root(graph[i].End)){continue;}int r_v Root(graph[i].Start);if (Minium[r_v] -1 || graph[i].Weight graph[Minium[r_v]].Weight){Minium[r_v] i;}int r_u Root(graph[i].End);if (Minium[r_u] -1 || graph[i].Weight graph[Minium[r_u]].Weight){Minium[r_u] i;}}for (int i 1; i N; i){if (Minium[i] ! -1){if (Merge(graph[Minium[i]].Start, graph[Minium[i]].End)){result graph[Minium[i]].Weight;tree.Add(Minium[i]);components--;}}}}return result;}private static int Root(int v){if (Parent[v] v){return v;}return Parent[v] Root(Parent[v]);}private static bool Merge(int v, int u){v Root(v);u Root(u);if (v u){return false;}Parent[v] u;return true;}} }2、测试与显示 ListEdgeInfo g new ListEdgeInfo(); g.Add(new EdgeInfo(1, 2, 6)); g.Add(new EdgeInfo(1, 3, 1)); g.Add(new EdgeInfo(1, 4, 4)); g.Add(new EdgeInfo(1, 5, 4)); g.Add(new EdgeInfo(2, 4, 2)); g.Add(new EdgeInfo(2, 5, 2)); g.Add(new EdgeInfo(3, 4, 8));int weight Boruvka_Minium_Spaning_Tree.Execute(g.ToArray(), out Listint path); StringBuilder sb new StringBuilder(); sb.AppendLine(The minium weight is: weight br); sb.AppendLine(The minium tree is : br); foreach (int idx in path) {sb.AppendLine((g[idx].Start --- g[idx].End ) weight g[idx].Weight br); } webBrowser1.DocumentText sb.ToString();更多算法源代码将陆续发布建议关注。 —————————————————————————————————————————— POWER BY TRUFFER.CN
http://www.pierceye.com/news/832710/

相关文章:

  • 网站建设技术部职责如何做公司网页制作
  • 广告公司怎么设置网站关键字网页鉴赏
  • 阳江网站开发网站设计 cdc
  • 密云建设银行招聘网站万网网站备份
  • 企业网站建设网站优化推广站群网站建设推广
  • 深圳市多语言网站建设公司营销网站建设公司哪家好
  • 网站推广是怎么做的仿腾讯网站源码
  • 北京市建设工程信息网站网站建设需要域名吗?
  • 做金融的网站有哪些阳江房地产信息网官方网站
  • h5能做网站开发吗黑链 对网站的影响
  • 专门做设计文案的网站wordpress 建站服务
  • 网站快速排名公司wordpress 插件 原理
  • 网站制作需要学什么公司网站管理属于什么职位
  • 南通专业企业门户网站设计学校怎么创建网站
  • 网站策划与建设阶段的推广方法中国建设教育协会安全员证
  • 建设银行网站用户名更改分销微信小程序开发
  • 荣成做网站的公司百度地图 wordpress
  • 扁平设计网站湖南健康二维码app下载安装
  • 大连成久建设工程有限公司网站针对爬虫爬取做的优化
  • 建设官方网站企业网银登录网站版面设计
  • 网站建设学什么软件怎样创建自己的公众号
  • 网站脑图怎么做云伙伴小程序开发公司
  • 网站设置兼容模式怎么弄wordpress文件架构
  • 网站模块顺序调整网易对象存储wordpress
  • 深圳网络建设网站郑州网站优化服务
  • 辽阳专业建设网站公司网站html动态效果代码
  • 微信上可以做网站吗网页设计作业讲解
  • 长春好的做网站公司潍坊 网站
  • 做网站自己装服务器谷歌排名规则
  • 58.搜房等网站怎么做效果才好商贸公司企业简介模板