Skip to main content

Basic Graph Data Structure Initialization Using Java Programming.

 Graph

                    (4) -------------(3)

                /                            \

             /                                 \

        (5)------------(1)-----------(2)


in This Above graph 4 connected to 3 and 5. Then 3 connected to 2 and 4 and so on. Graph are Used To Various Algorithms and Technology for example, Shortest Path Algorithm.

            1.Graph.
            2.bidirectional Graph.
            3.Weighted Graph.


Bidirectional Graph

            We Can Travel Both Side . Like Two Way Road.

S======>E   and E<=====S (start to end and end to start) vice versa.


Weighted Graph

            Weighted Graph Have Length Of Path. Like Km Is Roadways.


Properties

  1. vertex
  2. edge

Vertex is a defined as start or end point.

Edge is a connection between start and end points

   

import java.util.*;

class graph<T>{
HashMap<T,LinkedList<T>> g=new HashMap<T,LinkedList<T>>();
public void addVertex(T vertex){
g.put(vertex,new LinkedList<T>());
}

public void makeEdge(T start,T end,boolean byDirection){

//Check Start vertex Is Already Available Or Not
if(!g.containsKey(start)){
addVertex(start);
}

//Check Start vertex Is Already Available Or Not
if(!g.containsKey(end)){
addVertex(end);
}

//Add Root From Start To End
g.get(start).add(end);

//Add Root From Path End to Start
if(byDirection){
g.get(end).add(start);
}
}

public graph getGraph(){
return this;
}

}

class adjencencyList{


public static void main(String[] args){
graph<Integer> g=new graph<Integer>();
g.makeEdge(5,10,true);
g.makeEdge(5,15,true);
g.makeEdge(15,20,true);
System.out.println(g.getGraph().g);
}

}

output:

{20=[15], 5=[10, 15], 10=[5], 15=[5, 20]}




Comments

Popular posts from this blog

LPS(Longest Prefix Which Is Also Suffix) Array Generation Using Java

import java.util.* ; //Longest Prefix Which Is Also Suffix Which Is Used To Found a Pattern Through Avoid Repeated Characters in Given String. We Will Discuss KMP ALGORITHM TO Find A Pattern In Given String Latter. class lbs{ public static void main( String [] args){ Scanner in= new Scanner(System.in); //Get Input From User String s=in.nextLine(); //Convert String Into Char Array char [] ch=s.toCharArray(); int n=s.length(); int [] lbsArr= new int [n]; int j= 0 ,i= 1 ; lbsArr[ 0 ]= 0 ; //LPS ARRAY ALGORITHM /* i=1; j=0; string s="aaab" while i<n if s[i]==s[j]: lpsArr[i]=j; j=j+1 i=i+1 else: if j==0: lbsArr[j]=0 i=i+1 else:

Run Length Encoding | Programming In Java

  Given a string, Your task is to complete the function   encode   that returns the   run-length encoded  string for the given string. eg  if the input string is “wwwwaaadexxxxxx”, then the function should return “w4a3d1e1x6″. You are required to complete the function  encode  that takes only one argument the string which is to be encoded and returns the encoded string. Example 1: Input: str = aaaabbbccc Output: a4b3c3 Explanation: a repeated 4 times consecutively b 3 times, c also 3 times. Example 2: Input: str = abbbcdddd Output: a1b3c1d4 Your Task: Complete the function  encode()  which takes a character array as an input parameter and returns the encoded string. Expected Time Complexity:  O(N), N = length of a given string. Expected Auxiliary Space:  O(1) Constraints: 1<=length of str<=100 Solution: import java.util.*;   class RLEncoding {    public static void main(String[] args)     {         Scanner sc = new Scanner(System.in);        int T = sc.nextInt();   sc.nextLi