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.
Here is the source code of the Java Program to Represent Graph Using Incidence Matrix. 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 matrix
import java.util.Scanner;
public class Represent_Graph_Incidence_Matrix
{
private final int rows;
private final int cols;
private int[][] incidence_matrix;
public Represent_Graph_Incidence_Matrix(int v, int e)
{
rows = v;
cols = e;
incidence_matrix = new int[rows + 1][cols + 1];
}
public void makeEdge(int to, int from, int edge, int edge_number)
{
try
{
incidence_matrix[to][edge_number] = edge;
incidence_matrix[from][edge_number] = edge;
}
catch (ArrayIndexOutOfBoundsException index)
{
System.out.println("The vertices does not exists");
}
}
public int getEdge(int edge_number, int v)
{
try
{
return incidence_matrix[edge_number][v];
}
catch (ArrayIndexOutOfBoundsException index)
{
System.out.println("The vertices does not exists");
}
return -1;
}
public static void main(String args[])
{
int v, e, count = 1, to = 0, from = 0, edge_number;
Scanner sc = new Scanner(System.in);
Represent_Graph_Incidence_Matrix graph;
try
{
System.out.println("Enter the number of vertices: ");
v = sc.nextInt();
System.out.println("Enter the number of edges: ");
e = sc.nextInt();
graph = new Represent_Graph_Incidence_Matrix(v, e);
System.out.println("Enter the edges: <edge_number> <to> <from>");
while (count <= e)
{
edge_number = sc.nextInt();
to = sc.nextInt();
from = sc.nextInt();
graph.makeEdge(to, from, 1, edge_number);
count++;
}
System.out.println("The incidence matrix for the given graph is: ");
System.out.print(" ");
for (int i = 1; i <= v; i++)
System.out.print(i + " ");
System.out.println();
for (int i = 1; i <= v; i++)
{
System.out.print(i + " ");
for (int j = 1; j <= v; j++)
System.out.print(graph.getEdge(i, j) + " ");
System.out.println();
}
}
catch (Exception E)
{
System.out.println("Somthing went wrong");
}
sc.close();
}
}
Output:
$ javac Represent_Graph_Incidence_Matrix.java $ java Represent_Graph_Incidence_Matrix Enter the number of vertices: 4 Enter the number of edges: 5 Enter the edges: <edge_number> <to> <from> 1 1 2 2 2 3 3 3 4 4 4 1 1 1 3 The incidence matrix for the given graph is: 1 2 3 4 1 1 0 0 1 2 1 1 0 0 3 1 1 1 0 4 0 0 1 1
Related posts:
Java Program to Implement Variable length array
So sánh HashMap và Hashtable trong Java
Java Program to implement Dynamic Array
Write/Read cookies using HTTP and Read a file from the internet
Uploading MultipartFile with Spring RestTemplate
Java Program to Implement HashTable API
Jackson Exceptions – Problems and Solutions
Từ khóa throw và throws trong Java
Spring Boot Annotations
Using a Mutex Object in Java
List Interface trong Java
OAuth2.0 and Dynamic Client Registration
Redirect to Different Pages after Login with Spring Security
Java Program to Implement Quick Sort Using Randomization
Receive email using POP3
Custom Error Pages with Spring MVC
Java Program to Implement Stack API
A Guide to @RepeatedTest in Junit 5
So sánh HashMap và HashSet trong Java
Phương thức forEach() trong java 8
Guide to Dynamic Tests in Junit 5
Java Program to Perform Encoding of a Message Using Matrix Multiplication
Hướng dẫn Java Design Pattern – Proxy
HttpClient with SSL
String Operations with Java Streams
Tổng quan về ngôn ngữ lập trình java
Guide to Java Instrumentation
A Guide to System.exit()
Reactive WebSockets with Spring 5
Hướng dẫn sử dụng String Format trong Java
Call Methods at Runtime Using Java Reflection
Java Program to Perform Uniform Binary Search