import java.util.Comparator;
import java.util.HashSet;
import java.util.PriorityQueue;
import java.util.Set;
/*** * prim算法 适用范围:要求无向图**/
// undirected graph only
public class Code_05_Prim {public static class EdgeComparator implements Comparator<Edge> {@Overridepublic int compare(Edge o1, Edge o2) {return o1.weight - o2.weight;}}public static Set<Edge> primMST(Graph graph) {PriorityQueue<Edge> priorityQueue = new PriorityQueue<>(new EdgeComparator());HashSet<Node> set = new HashSet<>();Set<Edge> result = new HashSet<>();for (Node node : graph.nodes.values()) {if (!set.contains(node)) {set.add(node);for (Edge edge : node.edges) {priorityQueue.add(edge);}while (!priorityQueue.isEmpty()) {Edge edge = priorityQueue.poll();Node toNode = edge.to;if (!set.contains(toNode)) {set.add(toNode);result.add(edge);for (Edge nextEdge : toNode.edges) {priorityQueue.add(nextEdge);}}}}}return result;}}

prim算法 源码(java)相关推荐

  1. Java自动计算迷宫正确路线算法源码

    简介: Java自动计算迷宫正确路线算法源码,首先迷宫需要满足存在开始标识和结束标识与墙标识,然后设置好行数与列数就可以开始计算正确路线了,采用的是为二维数组然后走遍所有路线的方式. 网盘下载地址: ...

  2. Learning to Rank中Pointwise关于PRank算法源码实现

    [学习排序] Learning to Rank中Pointwise关于PRank算法源码实现 标签: 学习排序PRankPointwiseLearning to Rank代码实现 2015-01-28 ...

  3. 基于新唐M0的XXTEA加密解密算法源码

    源:基于新唐M0的XXTEA加密解密算法源码 /*--------------------------------------------------------------------------- ...

  4. [转] GIS算法源码集合

    其他GIS相关代码下载索引 http://www.mygis.com.cn/codeindex10.htm 1.深度优先实现的路径分析源码 http://www.mygis.com.cn/codes/ ...

  5. 机器学习算法源码全解析(三)-范数规则化之核范数与规则项参数选择

    前言 参见上一篇博文,我们聊到了L0,L1和L2范数,这篇我们絮叨絮叨下核范数和规则项参数选择.知识有限,以下都是我一些浅显的看法,如果理解存在错误,希望大家不吝指正.谢谢. 机器学习算法源码全解析( ...

  6. 超像素SLIC算法源码阅读

    超像素SLIC算法源码阅读 超像素SLIC算法源码阅读 SLIC简介 源码阅读 实验结果 其他超像素算法对比 超像素SLIC算法源码阅读 SLIC简介 SLIC的全称Simple Linear Ite ...

  7. Java开心农场源码Java欢乐农场源码

    Java开心农场源码Java欢乐农场源码 public Swingtest002() {// 设置标题setTitle("请登陆");// 绝对布局setLayout(null); ...

  8. [附源码]JAVA毕业设计景区门票系统(系统+LW)

    [附源码]JAVA毕业设计景区门票系统(系统+LW) 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(In ...

  9. [附源码]JAVA毕业设计书香校园阅读平台(系统+LW)

    [附源码]JAVA毕业设计书香校园阅读平台(系统+LW) 项目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe ...

最新文章

  1. ios 处理WKContentView的crash
  2. Mysql 练习 总结
  3. 2015生命之旅---第一站重庆
  4. JavaScript实现完整的matrix矩阵类(附完整源码)
  5. SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例
  6. 从头算和密度泛函理论_PHP Laravel教程–如何从头开始构建关键字密度工具
  7. 你还没听过 CynosDB 吗?不来这场数据库技术沙龙就要 OUT 了!
  8. GNU make manual 翻译(三十八)
  9. 数学:深入浅出通信原理(陈爱军)
  10. 论文绘图——矢量图篇
  11. 24V电压TVS二极管选型
  12. BeautifulSoup抓取门户网站上的链接
  13. Arnold材质节点篇-阴影遮罩Shadow matte、颜色转换、纹理着色器
  14. Type-C扩展坞支持的手机类型
  15. PHP画a梦,分享html打造动画哆啦A梦的示例代码
  16. preg_replace与远程代码执行
  17. 视频编解码 — H264结构
  18. java image写入文件,从文件读取/写入图像到BufferedImage的最快方法?
  19. IDEA:运行Tomcat时报错“1099”:Address localhost:1099 is already in use
  20. Webview与Javascript

热门文章

  1. 应用程序配置不正确,程序无法启动的问题小结
  2. 破解从 AppStore 下载的 IPA
  3. 钱钟书是怎样做读书笔记的 杨绛
  4. C++ tbb 并发容器适用场景 concurrent_set concurrent_map concurrent_queue
  5. 走近Harvest Moon:Moonbeam DeFi狂欢会
  6. Pytorch函数之topk()方法
  7. HTTP/2和HTTP/3
  8. 数据结构(二)算法绪论
  9. linux vdi虚拟化,VDI桌面虚拟化解决方案
  10. 微软云强劲增长的背后,是全新的人工智能黑科技