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

Day57 图论part07

今天在学习prim 和 kruskal的同时,也要清楚这两个算法的区别所在。

prim算法精讲

代码随想录

import java.util.*;

public class Main{
    public static void main (String[] args) {
        //prime算法
        //1.选择距离最小生成树最近的非树节点
        //2.将该节点加入到生成树里面
        //3.更新其他非树节点到最小生成树的距离
        
        Scanner scanner = new Scanner(System.in);
        int v = scanner.nextInt();
        int e = scanner.nextInt();
        int[][] graph = new int[v+1][v+1];
        for(int[] edges : graph){
            Arrays.fill(edges, 10001);
        }
        
        for(int i = 0; i < e; i++){
            int n = scanner.nextInt();
            int m = scanner.nextInt();
            int len = scanner.nextInt();
            graph[n][m] = len;
            graph[m][n] = len;//无向图,两个方向都要构建;
        }
        
        int[] minDist = new int[v+1];
        Arrays.fill(minDist, 10001);
        
        boolean[] isInTree = new boolean[v+1];
        int[] farther = new int[v+1];
        
        for(int j = 1; j <= v; j++){
            int cur = -1;
            int mindist = Integer.MAX_VALUE;
            
            for(int i = 1; i <= v; i++){
        

http://www.kler.cn/a/454569.html

相关文章:

  • Substrate Saturday 回顾:如何利用 Polkadot Cloud 扩展 Solana 网络服务?
  • [银河麒麟] Geogebra
  • 简单园区网拓扑实验
  • Python PyMupdf 去除PDF文档中Watermark标识水印
  • 本原多项式
  • 目录jangow-01-1.0.1靶机
  • JAVA开发初级入门之-如何快速将Java开发环境搭建,优雅草央千澈快速IDEA与JDK安装配置环境教程一文让你搞定-java开发必修课之一
  • OpenLinkSaas使用手册-简介
  • 【蓝桥杯】压缩字符串
  • Linux-----进程处理(文件IO资源使用)
  • 让 AMD GPU 在大语言模型推理中崭露头角:机遇与挑战
  • Unity如何判断Animator当前播放的动画已经结束
  • Go的Slice如何扩容
  • 游戏引擎学习第57天
  • 「下载」5G智慧园区整体解决方案:架构IOC核心平台层,信息全面集成共享
  • uni-app使用web-view遇到的问题
  • vxe-table 实现跨行按钮同时控制两行的编辑状态
  • Flink CDC MySQL 同步数据到 Kafka实践中可能遇到的问题
  • SpringBoot揭秘:URL与HTTP方法如何定位到Controller
  • Excel中一次查询返回多列
  • golang实现生产者消费者模式
  • 随机变量是一个函数-如何理解
  • 【MySQL】踩坑笔记——保存带有换行符等特殊字符的数据,需要进行转义保存
  • 算法题(17):删除有序数组中的重复项
  • k8s coredns
  • 简单发布一个npm包