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 K Way Merge Algorithm
Hướng dẫn Java Design Pattern – MVC
How to Change the Default Port in Spring Boot
Java Program to Implement Slicker Algorithm that avoids Triangulation to Find Area of a Polygon
Redirect to Different Pages after Login with Spring Security
Convert String to Byte Array and Reverse in Java
A Guide To UDP In Java
How to Read a File in Java
Java Program to Implement Adjacency List
Guide to Selenium with JUnit / TestNG
Removing all Nulls from a List in Java
Java Program to Check Whether Graph is DAG
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Sắp xếp trong Java 8
Java Program to Perform Insertion in a 2 Dimension K-D Tree
Java Program to Implement Selection Sort
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
JUnit5 @RunWith
Getting a File’s Mime Type in Java
Java Program to Compute the Volume of a Tetrahedron Using Determinants
Java Program to Implement Warshall Algorithm
Hướng dẫn sử dụng Java Generics
Guide to DelayQueue
Lập trình đa luồng với CompletableFuture trong Java 8
Using Optional with Jackson
Java Program to implement Bi Directional Map
REST Web service: HTTP Status Code và xử lý ngoại lệ RESTful web service với Jersey 2.x
Introduction to Spring Boot CLI
Introduction to Eclipse Collections
Java Multi-line String
Tiêu chuẩn coding trong Java (Coding Standards)
JUnit 5 @Test Annotation