Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.Scanner;
- import java.util.*;
- import java.io.*;
- public class Main {
- public static int z,size;
- static final int arr[][] = {
- {0, 1, 4, 0, 2, 0},
- {0, 0, 0, 9, 0, 0},
- {4, 0, 0, 7, 0, 0},
- {0, 9, 7, 0, 0, 2},
- {0, 0, 0, 0, 0, 8},
- {0, 0, 0, 0, 0, 0}};
- public static void main(String[] args) {
- long timeout= System.currentTimeMillis();
- //ReadFile();
- int n = arr.length;
- Graph g = new Graph(n);
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- if (arr[i][j] != 0) {
- g.addEdge(i, j, arr[i][j]);
- }
- }
- }
- long[] path = new long[g.n];
- int[] pred = new int[g.n];
- Dijkstra help = new Dijkstra();
- help.dijkstra(g, 0, path, pred);
- z = help.getZ();
- size = help.getSize();
- //dijkstra(g, 0, path, pred);
- System.out.println("Длина кратчайшего пути в графе: "+path[z]);
- printPath(pred, z); // вызов пути
- System.gc();
- timeout = System.currentTimeMillis() - timeout;
- System.out.println("\nВремя выполнения " + timeout + " мс" );
- }
- //сам путь
- public static void printPath(int[] map, int point) {
- StringBuilder result = new StringBuilder();
- while (true) {
- result.insert(0, point);
- point = map[point];
- if (point < 0) {
- break;
- }
- result.insert(0, ">");
- }
- System.out.print(result);
- }
- public static final long INF = Long.MAX_VALUE / 10;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement