Skip to main content

BREADTH FIRST SEARCH IN JAVA

BREADTH FIRST SEARCH IN JAVA:-


package com.problems.graph;

import java.awt.DisplayMode;
import java.util.Iterator;
import java.util.LinkedList;




public class BFSGraph {

 int maxsize;
 Vertex vertexlist[];
 int matrixlist[][];
 int vertexcount;
 @SuppressWarnings({ "rawtypes", "unused" })
 LinkedList queue;
 
 public BFSGraph()
 {
  maxsize=20;
  matrixlist=new int[maxsize][maxsize];
  vertexlist=new Vertex[maxsize];
  for(int i=0;i<maxsize;i++)
  {
   for(int j=0;j<maxsize;j++)
   {
    matrixlist[i][j]=0;
   }
  }
  queue= new LinkedList();
  
 }
 
 public void addVertex(char label)
 {
  vertexlist[vertexcount++]=new Vertex(label);
 }
 public void addEdge(int i,int j)
 {
  matrixlist[i][j]=1;
  matrixlist[j][i]=1;
 }
 
 public void displayVertex(int v)
 {
  System.out.println(vertexlist[v].label);
 }
 
 public int adjVertex(int v)
 {
  for(int i=0;i<maxsize;i++)
  {
   if(matrixlist[v][i]==1 && vertexlist[i].visited==false )
    return i;
  }
  return -1;
 }
 
 public void bfs()
 {
  System.out.println("in bfs");
  vertexlist[0].visited=true;
  displayVertex(0);
  queue.add(0);
  int v2;
  while(!queue.isEmpty())
  {
   int v1=(Integer) queue.remove();
   System.out.println("removed"+v1);
   while( (v2=adjVertex(v1))!=-1)
   {
   vertexlist[v2].visited=true;
   displayVertex(v2);
   queue.add(v2);
   }
  }
  for(int j=0;j<vertexcount;j++)
  {
   vertexlist[j].visited=false;
  }
 }
}

Comments

.

Popular posts from this blog

Best LeetCode Lists for Interviews

Here is a list of some of the best questions asked in interviews:-  Must do 75 https://leetcode.com/list/5hkn6wze/ Must do 60  https://leetcode.com/list/5eie1aqd/ Must do medium:-  https://leetcode.com/list/5xaelz7g/ Must do Easy:-   https://leetcode.com/list/5r7rxpr1/ Graph:-  https://leetcode.com/list/x18ervrd/  Dynamic Programming:-    https://leetcode.com/list/x14z0dxr/  FaceBook interviews:- https://leetcode.com/list/xyu98pv6/  Amazon Interviews:-  https://leetcode.com/list/5hkniyf7/  Google Interviews:- https://leetcode.com/list/xyu9xfo1/ https://github.com/nazarmubeen/TopProblems/blob/master/README.md

Tree Traversal in JAVA (InOder/preOrder/postOrder)

Tree Traversal in JAVA (InOder/preOrder/postOrder):- Tree traversal can be done through three ways. 1)Inorder:- Go recursively to the left node. Read a node Go recursively to the right node. 2)Pre Order. Read a node Go recursively to the left node. Go recursively to the right node. 2)Post Order. Go recursively to the left node. Go recursively to the right node. Read a node public void inorder ( Node root ) { if ( root == null ) { return ; } inorder ( root . left ); System . out . print ( root . data + "," ); inorder ( root . right ); } public void preOrder ( Node root ) { if ( root == null ) { return ; } System . out . print ( root . data + "," ); preOrder ( root . left ); preOrder ( root . right ); } public void postOrder ( Node root ) { if ( root == null ) { return ; } postOrder ( root . left ); postOrder ( root . right ); Sy