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 Doubly Linked List
@DynamicUpdate with Spring Data JPA
Java Program to Implement Stack
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Circular Dependencies in Spring
Java Program to Perform Polygon Containment Test
Spring Data JPA Delete and Relationships
Java Program to Implement Max Heap
Guide to Java OutputStream
Apache Camel with Spring Boot
Debug a HttpURLConnection problem
Generating Random Numbers in a Range in Java
Java Program to Check if a Given Graph Contain Hamiltonian Cycle or Not
Form Validation with AngularJS and Spring MVC
Java Program to Perform Postorder Non-Recursive Traversal of a Given Binary Tree
Java TreeMap vs HashMap
Java Program to Perform Searching Based on Locality of Reference
Java Program to Implement HashMap API
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
The StackOverflowError in Java
Quick Guide to Spring Bean Scopes
Comparing Strings in Java
Date Time trong Java 8
Java Program to implement Dynamic Array
Marker Interface trong Java
Convert XML to JSON Using Jackson
Java Program to Perform Matrix Multiplication
Registration with Spring Security – Password Encoding
CyclicBarrier in Java
Java Program to Implement Skew Heap
Spring Cloud – Securing Services
Spring Security with Maven