Java program to describe the representation of graph using adjacency matrix.In mathematics and computer science, an adjacency matrix is a means of representing which vertices (or nodes) of a graph are adjacent to which other vertices. Another matrix representation for a graph is the incidence matrix.
Here is source code of the Java program to find the adjacency matrix of a given graph .The Java program is successfully compiled and run on a Linux system. The program output is also shown below.
import java.util.InputMismatchException;
import java.util.Scanner;
public class GraphAdjacencyMatrix
{
private final int MAX_NO_OF_VERTICES;
private int adjacency_matrix[][];
public GraphAdjacencyMatrix(int number_of_vertices)
{
MAX_NO_OF_VERTICES = number_of_vertices;
adjacency_matrix = new int[MAX_NO_OF_VERTICES + 1][MAX_NO_OF_VERTICES + 1];
}
public void setEdge(int from_vertex, int to_vertex, int edge)
{
try
{
adjacency_matrix[from_vertex][to_vertex] = edge;
} catch (ArrayIndexOutOfBoundsException indexBounce)
{
System.out.println("the vertex entered is not present");
}
}
public int getEdge(int from_vertex, int to_vertex)
{
try
{
return adjacency_matrix[from_vertex][to_vertex];
} catch (ArrayIndexOutOfBoundsException indexBounce)
{
System.out.println("the vertex entered is not present")
}
return -1;
}
public static void main(String... arg)
{
int number_of_vertices, count = 1;
int source = 0, destination = 0;
Scanner scan = new Scanner(System.in);
GraphAdjacencyMatrix adjacencyMatrix;
try
{
System.out.println("Enter the Number of Vertices");
number_of_vertices = scan.nextInt();
System.out.println("Enter the Number of Edges");
int number_of_edges = scan.nextInt();
adjacencyMatrix = new GraphAdjacencyMatrix(number_of_vertices);
System.out.println("Enter The Graph Egdes :<source> <destination>");
while (count <= number_of_edges)
{
source = scan.nextInt();
destination = scan.nextInt();
adjacencyMatrix.setEdge(source, destination, 1);
count++;
}
System.out.println("The adjacency matrix for given graph is");
for (int i = 1; i <= number_of_vertices; i++)
System.out.print(i);
System.out.println();
for (int i = 1; i <= number_of_vertices; i++)
{
System.out.print(i);
for (int j = 1; j <= number_of_vertices; j++)
{
System.out.print(adjacencyMatrix.getEdge(i, j));
}
System.out.println();
}
} catch (InputMismatchException inputMisMatch)
{
System.out.println("Error in Input Format.<source index> <destination index>");
}
scan.close();
}
}
$javac GraphAdjacencyMatrix.java $java GraphAdjacencyMatrix Enter the Number of Vertices and Edges 4 5 Enter The Graph Egdes Format : <source index> <destination index> 1 2 2 3 3 4 4 1 1 3 The adjacency matrix for given graph is 1 2 3 4 1 0 1 1 0 2 0 0 1 0 3 0 0 0 1 4 1 0 0 0
Related posts:
Java Program to Implement the MD5 Algorithm
Spring Security OAuth2 – Simple Token Revocation
Java Program to Implement Slicker Algorithm that avoids Triangulation to Find Area of a Polygon
Java Program to Perform Preorder Recursive Traversal of a Given Binary Tree
Spring Webflux with Kotlin
Spring Boot - Web Socket
Java Program to Repeatedly Search the Same Text (such as Bible by building a Data Structure)
Mix plain text and HTML content in a mail
The Java 8 Stream API Tutorial
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Automatic Property Expansion with Spring Boot
Quick Guide to Spring Bean Scopes
Java Deep Learning Essentials - Yusuke Sugomori
A Quick JUnit vs TestNG Comparison
Period and Duration in Java
Hướng dẫn sử dụng Java Reflection
Java Program to Check whether Undirected Graph is Connected using DFS
Reversing a Linked List in Java
Java Program to Implement LinkedList API
Java Program to Implement ArrayBlockingQueue API
Java Program to Implement Find all Cross Edges in a Graph
Mapping a Dynamic JSON Object with Jackson
Spring Boot - Creating Docker Image
Notify User of Login From New Device or Location
Chuyển đổi giữa các kiểu dữ liệu trong Java
Java Program to Implement LinkedBlockingDeque API
A Custom Data Binder in Spring MVC
Simplify the DAO with Spring and Java Generics
Java Program to Implement Merge Sort Algorithm on Linked List
Tổng quan về ngôn ngữ lập trình java
Giới thiệu luồng vào ra (I/O) trong Java
Java Program to Compute Discrete Fourier Transform Using the Fast Fourier Transform Approach