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
Sanfoundry Global Education & Learning Series – 1000 Java Programs.
Sanfoundry Certification Contest of the Month is Live. 100+ Subjects. Participate Now!
advertisement
advertisement
Here’s the list of Best Books in Java Programming, Data Structures and Algorithms.
Next Steps:
- Get Free Certificate of Merit in Java Programming
- Participate in Java Programming Certification Contest
- Become a Top Ranker in Java Programming
- Take Java Programming Tests
- Chapterwise Practice Tests: Chapter 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
- Chapterwise Mock Tests: Chapter 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Related Posts:
- Apply for Information Technology Internship
- Apply for Java Internship
- Practice Programming MCQs
- Practice Information Technology MCQs
- Buy Programming Books