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

网站方案编写百度网页版支付宝

网站方案编写,百度网页版支付宝,免费制作logo的软件有哪些,怎么样建设一个网站实现描述 为了造出一棵最小生成树#xff0c;我们从最小边权的边开始#xff0c;按边权从小到大依次加入#xff0c;如果某次加边产生了环#xff0c;就扔掉这条边#xff0c;直到加入了 n-1 条边#xff0c;即形成了一棵树。 实现代码 首选我们对所有的边#xff0c…实现描述 为了造出一棵最小生成树我们从最小边权的边开始按边权从小到大依次加入如果某次加边产生了环就扔掉这条边直到加入了 n-1 条边即形成了一棵树。 实现代码 首选我们对所有的边按照权重排序之后从小到大选择边如果当前的边已经连通过了则放弃此边查看下一条边若没有连通过通过并查集进行连通直至所有点都访问过此时完成。 如上图节点0~5边关系如上 先对边权重进行从小到大排序得到 [{u:4,v:5,weight:1 },{u:0,v:5,weight:3 },{u:1,v:2,weight:4 },{u:0,v:1,weight:5 },{u:2,v:3,weight:5 },{u:3,v:4,weight:5 },{u:3,v:5,weight:6 },{u:0,v:3,weight:7 },{u:0,v:2,weight:8 },{u:2,v:5,weight:9 }]然后依次选择排序后的边 下面代码对应上图数据及其过程 import com.alibaba.fastjson.JSONObject; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.jetbrains.annotations.NotNull;import java.util.*;public class kruskal {/*** 边定义*/DataAllArgsConstructorNoArgsConstructorstatic class Edge implements ComparableEdge {int u, v;int weight;Overridepublic int compareTo(NotNull Edge o) {return weight - o.weight;}}static ListEdge getKruskalEdges(int nodeNum, int[][] grid) {ListEdge result new LinkedList();ListEdge edges new LinkedList();for (int i 0; i grid.length; i) {int u grid[i][0];int v grid[i][1];int weight grid[i][2];edges.add(new Edge(u, v, weight));}Collections.sort(edges);UnionFindTemplate uf new UnionFindTemplate(nodeNum);SetInteger visited new HashSet();for (Edge edge : edges) {if (uf.connected(edge.u, edge.v)) {continue;}uf.union(edge.u, edge.v);visited.add(edge.u);visited.add(edge.v);result.add(edge);if (visited.size() nodeNum) {break;}}return result;}public static void main(String[] args) {int nodeNum 6;int[][] grid {{0, 1, 5},{0, 5, 3},{0, 3, 7},{0, 2, 8},{1, 2, 4},{2, 5, 9},{3, 5, 6},{2, 3, 5},{3, 4, 5},{4, 5, 1}};System.out.println(JSONObject.toJSONString(getKruskalEdges(nodeNum, grid)));} }其中并查集模版的实现如下 public class UnionFindTemplate {int[] parent;int[] size;int n;public int setCount;//连通分量个数public UnionFindTemplate(int n) {this.n n;this.parent new int[n];this.size new int[n];setCount n;Arrays.fill(this.size, 1);for (int i 0; i n; i) {parent[i] i;}}public int findParent(int x) {if (parent[x] x) {return x;} else {parent[x] findParent(parent[x]);return parent[x];}}public void union(int x, int y) {x findParent(x);y findParent(y);if (x y) {return;}if (size[x] size[y]) {int temp x;x y;y temp;}//y合并到xparent[y] x;size[x] size[y];setCount--;}public boolean connected(int x, int y) {x findParent(x);y findParent(y);return x y;}}
http://www.hkea.cn/news/14394628/

相关文章:

  • 有什么好的互联网平台做网站建交互网站需要多少钱
  • 有谁有做卫生纸巾的网站谷歌搜索引擎入口363
  • 做英文网站可以申请补贴吗个人建设什么网站
  • 网站建设 美词网络推广话术开场白
  • 基础微网站开发代理wordpress博客教程
  • 找人做网站应该注意什么微信扫二维码网页历史记录
  • 浙江省住房和城乡建设厅干部学校网站移动版网站模板
  • 品牌网站建设策南宁微网站开发
  • 服务器及网站建设的特点企业网站带后台模板
  • 网站如何做交换链接免费x网站域名视频
  • 建站网站排行榜哪里有建设网站中的视频下载
  • 网站关键词google优化怎么做郑州网页制作设计
  • 热 综合-网站正在建设中-手机版wordpress自带编辑器
  • 做pc端网站基本流程用wordpress还是自己写
  • 哪个全球购网站做的好上海最好的网站建设
  • 山东网站建设系统设计软件教程
  • 平安建设 十户长网站地址wordpress heart
  • 贵州建设厅报名登录网站延津县建设局网站
  • 网站底部导航栏郑州制作网站推荐
  • 门户网站是专一化好还是多元化好怎么做文化传播公司网站
  • 工信部网站备案用户名重要新闻摘抄2022
  • 建设网站的目的和意义欧洲vodafonewifi巨大app3di
  • windows 建网站网站首页英文
  • 网站源代码上传都需要怎么做怎么做好手机网站开发
  • 首饰网站建设策划案wordpress双栏主题开源
  • 做听书网站怎么做家装网站自己做的
  • 无锡网站建设外包优势联合加工网
  • asp 企业网站管理系统陕西省住房和建设厅官方网站
  • 找网站开发合作伙伴wordpress使用什么语言
  • 做网站的文案传媒公司网站设计方案