This is a java program to represent graph as a incidence list. The incidence matrix of G is a n × m matrix (b_{ij}), where n and m are the numbers of vertices and edges respectively, such that b_{ij} = 1 if the vertex v_i and edge x_j are incident and 0 otherwise. If this relationship is represented by a list, list is known as incidence list.
Here is the source code of the Java Program to Represent Graph Using Incidence List. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to represent graph as a incidence list
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.LinkedList;
import java.util.Scanner;
public class Represent_Graph_Incidence_List
{
private Map<Integer, List<Integer>> incidenceList;
private int v;
public Represent_Graph_Incidence_List(int vertices)
{
v = vertices;
incidenceList = new HashMap<Integer, List<Integer>>();
for (int i = 1; i <= v; i++)
incidenceList.put(i, new LinkedList<Integer>());
}
public void setEdge(int to, int from, int edge_number)
{
List<Integer> slist = incidenceList.get(to);
slist.add(edge_number);
List<Integer> dlist = incidenceList.get(from);
dlist.add(edge_number);
}
public List<Integer> getEdge(int vertex)
{
return incidenceList.get(vertex);
}
public static void main(String args[])
{
int v, e, count = 1, to, from, edgeNumber;
Scanner sc = new Scanner(System.in);
Represent_Graph_Incidence_List glist;
try
{
System.out.println("Enter the number of vertices: ");
v = sc.nextInt();
System.out.println("Enter the number of edges: ");
e = sc.nextInt();
glist = new Represent_Graph_Incidence_List(v);
System.out
.println("Enter the edges in the graph : <edgenumber> <to> <from>");
while (count <= e)
{
edgeNumber = sc.nextInt();
to = sc.nextInt();
from = sc.nextInt();
glist.setEdge(to, from, edgeNumber);
count++;
}
System.out
.println("The Incidence List Representation of the graph is: ");
System.out.println("Vertex EdgeNumber");
for (int vertex = 1; vertex <= v; vertex++)
{
System.out.print(vertex + "\t:");
List<Integer> edgeList = glist.getEdge(vertex);
for (int j = 1;; j++)
{
if (j != edgeList.size())
System.out.print(edgeList.get(j - 1) + "\t");
else
{
System.out.print(edgeList.get(j - 1));
break;
}
}
System.out.println();
}
}
catch (Exception E)
{
System.out.println("Something went wrong");
}
sc.close();
}
}
Output:
$ javac Represent_Graph_Incidence_List.java $ java Represent_Graph_Incidence_List Enter the number of vertices: 5 Enter the number of edges: 5 Enter the edges in the graph : <edgenumber> <to> <from> 1 1 2 2 2 4 3 5 4 4 4 3 5 5 1 The Incidence List Representation of the graph is: Vertex EdgeNumber 1 :1 5 2 :1 2 3 :4 4 :2 3 4 5 :3 5
Related posts:
Quick Guide to Spring Bean Scopes
Guide to System.gc()
Kiểu dữ liệu Ngày Giờ (Date Time) trong java
Java Program to Implement Tarjan Algorithm
Spring WebClient Requests with Parameters
StringBuilder vs StringBuffer in Java
Java Program to Compute Cross Product of Two Vectors
Java Program to Permute All Letters of an Input String
Spring Security – security none, filters none, access permitAll
Java Program to Construct an Expression Tree for an Postfix Expression
Spring Boot - Internationalization
Hướng dẫn Java Design Pattern – Builder
Testing in Spring Boot
Convert Time to Milliseconds in Java
Giới thiệu Design Patterns
Lớp Arrarys trong Java (Arrays Utility Class)
Spring Boot - Database Handling
How to Find an Element in a List with Java
Java Program to Find MST (Minimum Spanning Tree) using Prim’s Algorithm
Jackson – Decide What Fields Get Serialized/Deserialized
Java Program to Encode a Message Using Playfair Cipher
Hướng dẫn sử dụng Java Generics
Java Program to Implement LinkedBlockingDeque API
Spring Boot Integration Testing with Embedded MongoDB
Tổng quan về ngôn ngữ lập trình java
Java Program to Find the Median of two Sorted Arrays using Binary Search Approach
Java Program to Implement Hopcroft Algorithm
Java Program to Generate a Random Subset by Coin Flipping
Luồng Daemon (Daemon Thread) trong Java
Java Program to Implement Uniform-Cost Search
Java Program to Perform Cryptography Using Transposition Technique
Java Program to Implement Expression Tree