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:
Request a Delivery / Read Receipt in Javamail
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Java Program to Implement PriorityBlockingQueue API
Java Program to Implement Stack
A Guide to the Java LinkedList
A Guide to Queries in Spring Data MongoDB
Prevent Brute Force Authentication Attempts with Spring Security
A Guide to TreeSet in Java
Java Program to Implement Pairing Heap
Getting a File’s Mime Type in Java
Hướng dẫn sử dụng lớp Console trong java
Java Program to Implement the One Time Pad Algorithm
Spring Boot - Web Socket
Java Program to Optimize Wire Length in Electrical Circuit
Build a REST API with Spring and Java Config
Java Program to Solve Knapsack Problem Using Dynamic Programming
JUnit5 @RunWith
Deploy a Spring Boot WAR into a Tomcat Server
Iterating over Enum Values in Java
Spring WebClient vs. RestTemplate
Transactions with Spring and JPA
Using Spring ResponseEntity to Manipulate the HTTP Response
A Guide to Java HashMap
Uploading MultipartFile with Spring RestTemplate
Java Program to Implement PriorityQueue API
Java Program to Implement Branch and Bound Method to Perform a Combinatorial Search
Java Program to Solve a Matching Problem for a Given Specific Case
Spring Boot - Actuator
Java Program to Find k Numbers Closest to Median of S, Where S is a Set of n Numbers
Java Program to Implement Word Wrap Problem
Java Program to Implement TreeSet API
Hướng dẫn Java Design Pattern – State