package test.graph; import java.util.*; public class FullyConnectedGraph { public static void main(String[] args) { int n = Integer.parseInt(args[0]); int max = Integer.parseInt(args[1]); int seed = Integer.parseInt(args[2]); int[][] graph = fullyConnectedRandomGraph(n, max, new Random(seed)); //System.out.println("graph = " + Arrays.deepToString(graph)); long before = System.currentTimeMillis(); int[][] mst = Kruskal.mstKruskal(graph,n); long after = System.currentTimeMillis(); //System.out.println("mst = " + Arrays.deepToString(mst)); System.out.println("time " + n + " " + (after-before)); } //====================================================================== public static int[][] fullyConnectedRandomGraph(int n, int max, Random r) { List edges = new ArrayList(); for (int i = 0; i < n; i++) { for (int j= i+1; j < n; j++) { edges.add( new int[]{r.nextInt(max),i, j}); } } int[][] result = new int[edges.size()][]; for (int i = 0; i < result.length; i++) { result[i] = edges.get(i); } return result; } }