Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ilya;
- import java.util.*;
- public class PrimAlgorithm {
- //graph - array of hashmaps where key - vertex and value - edge
- public static void main(String[] args) {
- //read graph
- Scanner in = new Scanner(System.in);
- int N = in.nextInt();
- List<Map<Integer, Integer>> input = new ArrayList<>();
- for (int i = 0; i < N; i++) {
- String line = in.nextLine();
- String[] parsed = line.split(" ");
- for (int j = 0; i < parsed.length - 1; j += 2) {
- input.get(i).put(Integer.parseInt(parsed[j]), Integer.parseInt(parsed[j + 1]));
- }
- }
- PrimAlgorithm.graphPrezentation(getMinimumSpanningTree(input));
- }
- private static List<Map<Integer, Integer>> getMinimumSpanningTree(List<Map<Integer, Integer>> source) {
- boolean[] visited = new boolean[source.size()];
- List<Map<Integer, Integer>> result = new ArrayList<>();
- for (int i = 0; i < source.size(); i++) {
- result.add(new HashMap<>());
- }
- return result;
- }
- private Integer getMin(List<Map<Integer, Integer>> source, int vertex, boolean[] visited) {
- Integer min = null;
- Map<Integer, Integer> s = source.get(vertex);
- for (Map.Entry<Integer, Integer> entry : s.entrySet()) {
- if (!visited[entry.getKey()]) {
- if (min != null) {
- if ()
- }
- }
- }
- }
- private static void graphPrezentation(List<Map<Integer, Integer>> graph) {
- for (int i = 0; i < graph.size(); i++) {
- System.out.printf("%d:", i);
- for (Map.Entry<Integer, Integer> entry : graph.get(i).entrySet()) {
- System.out.printf(" -%d- %d", entry.getValue(), entry.getKey());
- }
- System.out.println();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement