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:
Comparing Objects in Java
Spring Boot with Multiple SQL Import Files
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Java Program to Check whether Directed Graph is Connected using BFS
Create a Custom Auto-Configuration with Spring Boot
Java Program to Perform Encoding of a Message Using Matrix Multiplication
Deploy a Spring Boot App to Azure
Spring Security OAuth2 – Simple Token Revocation
Java Program to Implement Binary Tree
JUnit 5 @Test Annotation
A Guide to Queries in Spring Data MongoDB
Examine the internal DNS cache
Join and Split Arrays and Collections in Java
CyclicBarrier in Java
Unsatisfied Dependency in Spring
Exploring the Spring 5 WebFlux URL Matching
Java Program to Implement Find all Forward Edges in a Graph
Spring NoSuchBeanDefinitionException
Object cloning trong java
Converting String to Stream of chars
Creating a Web Application with Spring 5
Spring Boot - Servlet Filter
Explain about URL and HTTPS protocol
Hướng dẫn sử dụng Java Annotation
Spring Boot - Unit Test Cases
wait() and notify() Methods in Java
Xử lý ngoại lệ trong Java (Exception Handling)
Quick Guide to Spring Bean Scopes
Tránh lỗi NullPointerException trong Java như thế nào?
A Guide to HashSet in Java
Java Optional as Return Type
Iterating over Enum Values in Java