|
2 | 2 | import java.io.*; |
3 | 3 | public class dining { |
4 | 4 | static final int V=9; |
5 | | - int minDistance(int dist[], Boolean sptSet[]) |
6 | | - { |
7 | | - |
8 | | - int min = Integer.MAX_VALUE, min_index=-1; |
9 | | - |
| 5 | + static int minDistance(int dist[], Boolean sptSet[]) { |
| 6 | + int min = Integer.MAX_VALUE, min_index=-1; // Computers are too stupid to understand infinite |
10 | 7 | for (int v = 0; v < V; v++) |
11 | 8 | if (sptSet[v] == false && dist[v] <= min) |
12 | 9 | { |
13 | 10 | min = dist[v]; |
14 | 11 | min_index = v; |
15 | 12 | } |
16 | | - |
17 | 13 | return min_index; |
18 | 14 | } |
19 | | - void printSolution(int dist[], int n) |
20 | | - { |
21 | | - System.out.println("Vertex Distance from Source"); |
22 | | - for (int i = 0; i < V; i++) |
23 | | - System.out.println(i+" tt "+dist[i]); |
24 | | - } |
25 | | - |
26 | | - void dijkstra(int graph[][], int src) |
27 | | - { |
| 15 | + static void dijkstra(int graph[][], int src) { |
28 | 16 | int dist[] = new int[V]; |
29 | | - |
30 | 17 | Boolean sptSet[] = new Boolean[V]; |
31 | | - for (int i = 0; i < V; i++) |
32 | | - { |
| 18 | + for (int i = 0; i < V; i++) { |
33 | 19 | dist[i] = Integer.MAX_VALUE; |
34 | 20 | sptSet[i] = false; |
35 | 21 | } |
36 | | - |
37 | | - |
38 | 22 | dist[src] = 0; |
39 | | - for (int count = 0; count < V-1; count++) |
40 | | - { |
41 | | - |
42 | | - int u = minDistance(dist, sptSet); |
43 | | - |
44 | | - |
45 | | - sptSet[u] = true; |
46 | | - |
47 | | - |
48 | | - for (int v = 0; v < V; v++) |
49 | | - |
50 | | - |
51 | | - |
| 23 | + for (int count = 0; count < V-1; count++) { |
| 24 | + int u = minDistance(dist, sptSet); |
| 25 | + sptSet[u] = true; |
| 26 | + for (int v = 0; v < V; v++) |
52 | 27 | if (!sptSet[v] && graph[u][v]!=0 && |
53 | 28 | dist[u] != Integer.MAX_VALUE && |
54 | 29 | dist[u]+graph[u][v] < dist[v]) |
55 | 30 | dist[v] = dist[u] + graph[u][v]; |
56 | | - } |
57 | | - |
58 | | - |
59 | | - printSolution(dist, V); |
| 31 | + } |
60 | 32 | } |
61 | 33 | public static void main(String[] args) { |
62 | 34 | BufferedReader f = new BufferedReader(); |
63 | 35 |
|
64 | 36 | } |
65 | | - |
66 | 37 | } |
0 commit comments