fork download
  1. import java.util.Queue;
  2. import java.util.concurrent.LinkedBlockingQueue;
  3.  
  4. class BFS {
  5.  
  6. public static void main(String[] args) {
  7. Node n1 = new Node(1);
  8. Node n2 = new Node(2);
  9. Node n3 = new Node(3);
  10. Node n4 = new Node(4);
  11. Node n5 = new Node(5);
  12. Node n6 = new Node(6);
  13. Node n7 = new Node(7);
  14. Node n8 = new Node(8);
  15. Node n9 = new Node(9);
  16. Node n10 = new Node(10);
  17. Node n11 = new Node(11);
  18. Node n12 = new Node(12);
  19. Node n13 = new Node(13);
  20.  
  21. n1.left = n2;
  22. n1.right = n3;
  23.  
  24. n2.left = n4;
  25. n2.right = n5;
  26.  
  27. n3.left = n6;
  28. n3.right = n7;
  29.  
  30. n4.left = n4.right = null;
  31.  
  32. n5.left = n10;
  33. n5.right = n11;
  34.  
  35. n6.left = n6.right = null;
  36.  
  37. n7.left = n8;
  38. n7.right = n9;
  39.  
  40. n10.left = n12;
  41. n10.right = n13;
  42.  
  43. n11.left = n11.right = null;
  44.  
  45. n8.left = n8.right = null;
  46. n9.left = n9.right = null;
  47.  
  48. Node root = n1;
  49. Queue<Node> queue = new LinkedBlockingQueue<Node>();
  50. queue.add(root);
  51.  
  52. while(!queue.isEmpty()){
  53. Node n = queue.poll();
  54. if(n.left !=null){
  55. queue.add(n.left);
  56. }
  57. if(n.right!=null){
  58. queue.add(n.right);
  59. }
  60.  
  61. System.out.print(n.info + ", ");
  62. }
  63. }
  64.  
  65. }
  66.  
  67. class Node{
  68. public Node left;
  69. public Node right;
  70. public int info;
  71.  
  72. public Node(int info){
  73. this.info = info;
  74. this.left = null;
  75. this.left = null;
  76. }
  77.  
  78. public String toString(){
  79. return "" + this.info;
  80. }
  81. }
  82.  
Success #stdin #stdout 0.11s 320512KB
stdin
Standard input is empty
stdout
1, 2, 3, 4, 5, 6, 7, 10, 11, 8, 9, 12, 13,