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