Java program to describe the implement Adjacency Matrix. The Adjacency Matrix is used to represent a graph.The adjacency matrix of a finite graph G on n vertices is the n × n matrix where the non-diagonal entry aij is the number of edges from vertex i to vertex j, and the diagonal entry aii, depending on the convention, is either once or twice the number of edges (loops) from vertex i to itself.
Here is source code of the Java program to implement the Adjacency Matrix.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 AdjacencyMatrix
{
private final int MAX_NO_OF_VERTICES;
private int adjacency_matrix[][];
public AdjacencyMatrix(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);
AdjacencyMatrix 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 AdjacencyMatrix(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 AdjacencyMatrix.java $java AdjacencyMatrix 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 Repeated Squaring Algorithm
Spring Boot - Admin Server
Java Timer
Java Program to Implement Stack using Linked List
Encode/Decode to/from Base64
Functional Interface trong Java 8
Java Program to Generate All Pairs of Subsets Whose Union Make the Set
Working with Kotlin and JPA
The Modulo Operator in Java
A Guide to Java HashMap
Spring @RequestMapping New Shortcut Annotations
Spring JDBC
Java Program to Implement ArrayDeque API
HttpClient 4 – Follow Redirects for POST
Concurrent Test Execution in Spring 5
Hướng dẫn Java Design Pattern – Flyweight
Lớp Arrarys trong Java (Arrays Utility Class)
Converting Java Date to OffsetDateTime
Java Program to Create a Random Linear Extension for a DAG
Java Program to Check whether Graph is a Bipartite using 2 Color Algorithm
A Custom Media Type for a Spring REST API
Java Program to Implement Fibonacci Heap
Java Program to Implement Borwein Algorithm
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
Apache Commons Collections MapUtils
Finding the Differences Between Two Lists in Java
Java Program to Implement Floyd Cycle Algorithm
Sort a HashMap in Java
Java 8 Collectors toMap
Java Program to Implement WeakHashMap API
Java Program to Solve TSP Using Minimum Spanning Trees
Spring Boot - Cloud Configuration Server