Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. package BreadthFirstSearch;
  2.  
  3. import java.util.HashMap;
  4. import java.util.LinkedList;
  5. import java.util.Map;
  6. import java.util.Queue;
  7.  
  8. public class BreathFirstSearch {
  9. public static void main(String[] args) {
  10. Map<String, String[]> map = new HashMap<>();
  11. map.put("you", new String[]{"Alice", "Bob", "Claire"});
  12. map.put("Bob", new String[]{"Anuj", "Peggy"});
  13. map.put("Alice", new String[]{"Peggy"});
  14. map.put("Claire", new String[]{"Thom", "Johnny"});
  15. map.put("Anuj", new String[]{});
  16. map.put("Peggy", new String[]{});
  17. map.put("Thom", new String[]{});
  18. map.put("Johnny", new String[]{});
  19.  
  20. System.out.println(breathFirstSearch("Anuj", map));
  21. }
  22.  
  23. private static boolean breathFirstSearch(String name, Map map) {
  24. Queue<String> toSearchQueue = new LinkedList<>();
  25. Queue<String> searchedQueue = new LinkedList<>();
  26. toSearchQueue.add((String) map.get("you"));
  27.  
  28. while (!toSearchQueue.isEmpty()) {
  29. String currentName = toSearchQueue.poll();
  30. if (!searchedQueue.contains(currentName)) {
  31. if (isMangoSeller(currentName)) {
  32. return true;
  33. } else {
  34. toSearchQueue.add(currentName);
  35. searchedQueue.add(currentName);
  36. }
  37. }
  38. }
  39. return false;
  40. }
  41.  
  42. private static boolean isMangoSeller(String name) {
  43. return name.equals("Anuj");
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement