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:
Extract links from an HTML page
How to Set TLS Version in Apache HttpClient
HttpClient Timeout
Initialize a HashMap in Java
More Jackson Annotations
A Guide to EnumMap
String Initialization in Java
Apache Commons Collections MapUtils
Biểu thức Lambda trong Java 8 – Lambda Expressions
Introduction to Spring Data JDBC
The Registration Process With Spring Security
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Đồng bộ hóa các luồng trong Java
Spring Boot - Tracing Micro Service Logs
A Guide to LinkedHashMap in Java
Java Program to Compute DFT Coefficients Directly
TreeSet và sử dụng Comparable, Comparator trong java
Dynamic Proxies in Java
Convert a Map to an Array, List or Set in Java
Spring MVC + Thymeleaf 3.0: New Features
Giới thiệu HATEOAS
Custom Thread Pools In Java 8 Parallel Streams
Java Program to Implement Tarjan Algorithm
How to Manually Authenticate User with Spring Security
Java Program to Perform Searching Using Self-Organizing Lists
Immutable Map Implementations in Java
Abstract class và Interface trong Java
Java Program to Implement Singly Linked List
Date Time trong Java 8
Java Program to Implement Heap
Java Program to Implement Warshall Algorithm
Hashing a Password in Java