Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.11 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.util.*;
  4.  
  5. public class Main {
  6.  
  7.     private static Object[] BFS(Node goal, Node start) {
  8.         Queue<Node> q = new ArrayDeque<>();
  9.         ArrayList<Node> discovered = new ArrayList<>();
  10.  
  11.         q.add(start);
  12.  
  13.         while(!q.isEmpty()) {
  14.             Node v = q.poll();
  15.             discovered.add(v);
  16.  
  17.             if(v == goal) {
  18.                 return discovered.toArray();
  19.             }
  20.  
  21.             for (Node neighbor:
  22.                  v.getNeighbors()) {
  23.                 q.add(neighbor);
  24.             }
  25.         }
  26.  
  27.         return discovered.toArray();
  28.     }
  29.  
  30.     public static void main(String[] args) {
  31.         // write your code here
  32.         Node root = new Node(0);
  33.         Node child1 = new Node(1);
  34.         Node child2 = new Node(2);
  35.         Node grandchild = new Node(3);
  36.         root.addNeighbor(child1);
  37.         root.addNeighbor(child2);
  38.         child2.addNeighbor(grandchild);
  39.  
  40.         for (Object v:
  41.              BFS(grandchild, root)) {
  42.             Node casted = (Node)v;
  43.             System.out.print(casted.getValue() + " ");
  44.         }
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement