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. If this relationship is represented by a list, list is known as incidence list.
Here is the source code of the Java Program to Represent Graph Using Incidence List. 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 list import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.LinkedList; import java.util.Scanner; public class Represent_Graph_Incidence_List { private Map<Integer, List<Integer>> incidenceList; private int v; public Represent_Graph_Incidence_List(int vertices) { v = vertices; incidenceList = new HashMap<Integer, List<Integer>>(); for (int i = 1; i <= v; i++) incidenceList.put(i, new LinkedList<Integer>()); } public void setEdge(int to, int from, int edge_number) { List<Integer> slist = incidenceList.get(to); slist.add(edge_number); List<Integer> dlist = incidenceList.get(from); dlist.add(edge_number); } public List<Integer> getEdge(int vertex) { return incidenceList.get(vertex); } public static void main(String args[]) { int v, e, count = 1, to, from, edgeNumber; Scanner sc = new Scanner(System.in); Represent_Graph_Incidence_List glist; try { System.out.println("Enter the number of vertices: "); v = sc.nextInt(); System.out.println("Enter the number of edges: "); e = sc.nextInt(); glist = new Represent_Graph_Incidence_List(v); System.out .println("Enter the edges in the graph : <edgenumber> <to> <from>"); while (count <= e) { edgeNumber = sc.nextInt(); to = sc.nextInt(); from = sc.nextInt(); glist.setEdge(to, from, edgeNumber); count++; } System.out .println("The Incidence List Representation of the graph is: "); System.out.println("Vertex EdgeNumber"); for (int vertex = 1; vertex <= v; vertex++) { System.out.print(vertex + "\t:"); List<Integer> edgeList = glist.getEdge(vertex); for (int j = 1;; j++) { if (j != edgeList.size()) System.out.print(edgeList.get(j - 1) + "\t"); else { System.out.print(edgeList.get(j - 1)); break; } } System.out.println(); } } catch (Exception E) { System.out.println("Something went wrong"); } sc.close(); } }
Output:
$ javac Represent_Graph_Incidence_List.java $ java Represent_Graph_Incidence_List Enter the number of vertices: 5 Enter the number of edges: 5 Enter the edges in the graph : <edgenumber> <to> <from> 1 1 2 2 2 4 3 5 4 4 4 3 5 5 1 The Incidence List Representation of the graph is: Vertex EdgeNumber 1 :1 5 2 :1 2 3 :4 4 :2 3 4 5 :3 5
Related posts:
Spring 5 WebClient
Java Program to Test Using DFS Whether a Directed Graph is Weakly Connected or Not
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Limiting Query Results with JPA and Spring Data JPA
OAuth 2.0 Resource Server With Spring Security 5
Spring Security Basic Authentication
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng
Deploy a Spring Boot App to Azure
A Guide to JUnit 5 Extensions
Introduction to Liquibase Rollback
Documenting a Spring REST API Using OpenAPI 3.0
Assertions in JUnit 4 and JUnit 5
Java Program to Implement Graph Structured Stack
Hướng dẫn sử dụng lớp Console trong java
A Guide to Queries in Spring Data MongoDB
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Java Program to Implement Hopcroft Algorithm
4 tính chất của lập trình hướng đối tượng trong Java
Jackson JSON Views
Check If Two Lists are Equal in Java
Java Program to Generate Date Between Given Range
Apache Commons Collections Bag
Server-Sent Events in Spring
So sánh Array và ArrayList trong Java
Câu lệnh điều khiển vòng lặp trong Java (break, continue)
Java Program to Perform the Unique Factorization of a Given Number
Introduction to Spring Cloud Rest Client with Netflix Ribbon
Java Program to Implement Insertion Sort
Java Program to Represent Graph Using 2D Arrays
Setting the Java Version in Maven
Java Program to Check Whether a Given Point is in a Given Polygon
How to Get All Spring-Managed Beans?