This Java program, represents a given graph in the incident matrix form.
Here is the source code of the Java program to represent the graph in incident matrix. The Java program is successfully compiled and run on a Linux system. The program output is also shown below.
import java.util.InputMismatchException;
import java.util.Scanner;
public class GraphIncidenceMatrix
{
private final int MAX_ROWS ;
private final int MAX_COLUMS;
private int Incidence_Matrix[][];
public GraphIncidenceMatrix(int number_of_vertices, int number_of_edges)
{
MAX_COLUMS = number_of_edges;
MAX_ROWS = number_of_vertices;
Incidence_Matrix = new int[MAX_ROWS + 1][MAX_COLUMS + 1];
}
public void setVertices(int from_vertex, int to_vertex, int edge, int edge_num)
{
try
{
Incidence_Matrix[from_vertex][edge_num] = edge;
Incidence_Matrix[to_vertex][edge_num] = edge;
}catch(ArrayIndexOutOfBoundsException indexBounce)
{
System.out.println("the vertex entered is not present");
}
}
public int getVertices(int edge_num, int vertex)
{
try
{
return Incidence_Matrix[vertex][edge_num];
}catch(ArrayIndexOutOfBoundsException indexBounce)
{
System.out.println("the vertex entered is not present");
}
return -1;
}
public static void main(String...arg)
{
int number_of_vertices;
int number_of_edges;
int edge_count = 1;
int edge_number ;
int source;
int destination;
GraphIncidenceMatrix incedenceMatrix = null;
Scanner scan = new Scanner(System.in);
try
{
System.out.println("Enter The Number Of Vertices and Edges \n");
number_of_vertices = scan.nextInt();
number_of_edges = scan.nextInt();
incedenceMatrix = new GraphIncidenceMatrix(number_of_vertices, number_of_edges);
System.out.println("Enter the Egdes Format :<edge-number> <source index> <destination index> \n");
while (edge_count <= number_of_edges)
{
edge_number = scan.nextInt();
source = scan.nextInt();
destination = scan.nextInt();
edge_count++;
incedenceMatrix.setVertices(source, destination, 1, edge_number);
}
System.out.println("The Incendence Matrix for the given graph is ");
for (int i = 1; i <= number_of_edges; i++)
{
System.out.print("\t" + i);
}
System.out.println();
for (int i = 1; i <= number_of_vertices; i++)
{
System.out.print(i + "\t");
for (int j = 1; j<= number_of_edges; j++)
{
System.out.print(incedenceMatrix.getVertices(j, i) + "\t");
}
System.out.println();
}
}catch(InputMismatchException inputMismatch)
{
System.out.println("the vertex entered is not present");
}
scan.close();
}
}
$javac GraphIncidenceMatrix.java $java GrapIncidenceMatrix Enter The Number Of Vertices and Edges 4 5 Enter the Egdes Format :<edge-number> <source index> <destination index> 1 1 2 2 2 3 3 3 4 4 4 1 5 1 3 The Incendence Matrix for the given graph is 1 2 3 4 5 1 1 0 0 1 1 2 1 1 0 0 0 3 0 1 1 0 1 4 0 0 1 1 0
Related posts:
Java Program to Implement Sorted List
Sorting in Java
Java – Rename or Move a File
Java Program to implement Circular Buffer
Java Program to Implement Gauss Seidel Method
Spring WebClient and OAuth2 Support
Remove HTML tags from a file to extract only the TEXT
ClassNotFoundException vs NoClassDefFoundError
Encode/Decode to/from Base64
Hướng dẫn Java Design Pattern – Interpreter
Guide to Guava Multimap
Anonymous Classes in Java
Serverless Functions with Spring Cloud Function
Default Password Encoder in Spring Security 5
Remove the First Element from a List
Java Program to Implement Trie
Connect through a Proxy
Static Content in Spring WebFlux
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Java Program to Implement DelayQueue API
Circular Dependencies in Spring
Java Program to Represent Graph Using Incidence List
Limiting Query Results with JPA and Spring Data JPA
Weak References in Java
Cài đặt và sử dụng Swagger UI
4 tính chất của lập trình hướng đối tượng trong Java
A Custom Media Type for a Spring REST API
A Guide to the ViewResolver in Spring MVC
A Guide to the Java ExecutorService
Properties with Spring and Spring Boot
Spring Boot - Exception Handling
How to Define a Spring Boot Filter?