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 Weight Balanced Tree
A Guide to Java SynchronousQueue
Programmatic Transaction Management in Spring
Login For a Spring Web App – Error Handling and Localization
Remove All Occurrences of a Specific Value from a List
Weak References in Java
Class Loaders in Java
Java Program to implement Bit Matrix
Create a Custom Exception in Java
Spring 5 Testing with @EnabledIf Annotation
Finding Max/Min of a List or Collection
Recommended Package Structure of a Spring Boot Project
Java Program to Implement Affine Cipher
Java Program to Implement Suffix Array
Tính đóng gói (Encapsulation) trong java
Format ZonedDateTime to String
Generating Random Numbers in a Range in Java
Sử dụng Fork/Join Framework với ForkJoinPool trong Java
Java Program to Check if a Given Graph Contain Hamiltonian Cycle or Not
Service Registration with Eureka
Java Program to Compute DFT Coefficients Directly
4 tính chất của lập trình hướng đối tượng trong Java
Removing all Nulls from a List in Java
Java Program to Implement Quick Sort Using Randomization
StringBuilder vs StringBuffer in Java
Java Program to Implement Sorting of Less than 100 Numbers in O(n) Complexity
Chuyển đổi Array sang ArrayList và ngược lại
New Stream Collectors in Java 9
Java Program to Check the Connectivity of Graph Using DFS
Java Program to Implement Skip List
Guide to the Java Queue Interface
XML Serialization and Deserialization with Jackson