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:
Jackson vs Gson
Java Program to Implement HashTable API
Getting Started with Custom Deserialization in Jackson
Adding Parameters to HttpClient Requests
Java Program to Check whether Undirected Graph is Connected using DFS
Java Program to Implement Interpolation Search Algorithm
Spring Boot Configuration with Jasypt
Practical Java Examples of the Big O Notation
The XOR Operator in Java
Quick Guide to Spring MVC with Velocity
Join and Split Arrays and Collections in Java
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
Phân biệt JVM, JRE, JDK
Spring Boot - Cloud Configuration Server
Java – Get Random Item/Element From a List
Filtering a Stream of Optionals in Java
Java Program to Create a Random Linear Extension for a DAG
Hướng dẫn Java Design Pattern – Abstract Factory
Java Program to Implement Find all Cross Edges in a Graph
Java Program to implement Bi Directional Map
Java Timer
HttpClient 4 – Send Custom Cookie
Java Program to Implement Hash Tables Chaining with Binary Trees
Java Program to Evaluate an Expression using Stacks
An Intro to Spring Cloud Task
Adding a Newline Character to a String in Java
Custom JUnit 4 Test Runners
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
HTTP Authentification and CGI/Servlet
Java Program to Use Above Below Primitive to Test Whether Two Lines Intersect
Spring REST API with Protocol Buffers