Skip to main content

Designing graph in JAVA


How to design a Graph in JAVA:-

Vertex:-

package com.problems.graph;

public class Vertex{
  char label;
  boolean visited;
 
  public Vertex(char label){
   this.label=label;
   this.visited=false;
  }
}
Functions of Graphs
public class Graph {

 int maxsize=20;
 Vertex vertex[];
 int matrix[][];
 int vertexcount;
 Stack stackobj;

 public Graph()
 {
  vertex = new Vertex[maxsize];
  matrix=new int[maxsize][maxsize];
  vertexcount=0;
  for(int i=0;i<maxsize;i++)
  {
   for(int j=0;j<maxsize;j++)
   {
    matrix[i][j]=0;
   }
  }
  stackobj=new Stack();   
 }
 
 public void addVertex(char label)
 {
  vertex[vertexcount++]=new Vertex(label);
 }
 public void addEdge(int i,int j)
 {
  matrix[i][j]=1;
  matrix[j][i]=1;
 }
 
 public void displyVertex(int v)
 {
  System.out.println(vertex[v].label);
 }
 
 public int adjVertex(int v)
 {
  for(int i=0;i<maxsize;i++)
  {
   if(matrix[v][i]==1 && vertex[i].visited==false )
    return i;
  }
  return -1;
 }
}

Comments

.

Popular posts from this blog

Breadth First Search Implementation in Java

Breadth First Search Implementation in Java For Graph Class Design and DFS implementation please refer to below link:- depth-first-search-implementation-in-java /* 1. Pick a vertex. 2. Get Adjacent Vertex. 3. Insert in queue ( at tail) 4. Remove vertex from queue( head) 5. Do until no vertex left in a queue. */ void searchBFS () { //this is how we define queue using LinkedList Queue < Character > queue = new LinkedList < Character >(); queue . add ( vertexlist [ 0 ]. label ); while (! queue . isEmpty ()) { //element at head (Function in main graph class please use above link) ArrayList adjvertex = getNeighbours ( queue . peek ()); System . out . println ( queue . peek ()); //element removed at head queue . remove (); if ( adjvertex != null ) { for ( int i = 0 ; i < adjvertex . size (); i ++) { //element added at tail queue . add