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 Disjoint Set Data Structure
Java Program to Generate All Possible Combinations Out of a, b, c, d, e
Java Program to Implement Binomial Tree
Ways to Iterate Over a List in Java
Java Program to Implement the RSA Algorithm
Performance Difference Between save() and saveAll() in Spring Data
Spring MVC Async vs Spring WebFlux
Java Program to Implement TreeSet API
Java Program to Implement Knight’s Tour Problem
Semaphore trong Java
Mockito and JUnit 5 – Using ExtendWith
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Java Program to Implement Segment Tree
Encode/Decode to/from Base64
Giới thiệu luồng vào ra (I/O) trong Java
Hướng dẫn Java Design Pattern – Singleton
Class Loaders in Java
Quick Guide to Spring Controllers
Spring Boot - Google Cloud Platform
Set Interface trong Java
Using Spring ResponseEntity to Manipulate the HTTP Response
Java Program to Implement Sorted Singly Linked List
Java Program to Implement Branch and Bound Method to Perform a Combinatorial Search
Java Program to Implement Park-Miller Random Number Generation Algorithm
Java Program to Check Cycle in a Graph using Topological Sort
Pagination and Sorting using Spring Data JPA
Hướng dẫn Java Design Pattern – Iterator
Java Program to Implement SynchronosQueue API
Filtering a Stream of Optionals in Java
Java Program to Implement Selection Sort
Java Program to Implement Attribute API
Merging Streams in Java