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 Euler Circuit Problem
Generating Random Dates in Java
Spring Boot - Enabling Swagger2
Java Program to Implement Circular Doubly Linked List
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Java Program to Generate Random Numbers Using Probability Distribution Function
How to Set TLS Version in Apache HttpClient
Using a Custom Spring MVC’s Handler Interceptor to Manage Sessions
Java Program to Implement Nth Root Algorithm
JUnit 5 @Test Annotation
Java Program to Implement Max Heap
A Guide to HashSet in Java
Spring Autowiring of Generic Types
Java Program to Generate All Pairs of Subsets Whose Union Make the Set
Generating Random Numbers in a Range in Java
Immutable ArrayList in Java
Spring WebClient and OAuth2 Support
Java Program to Implement Dijkstra’s Algorithm using Queue
Convert Character Array to String in Java
A Guide to LinkedHashMap in Java
Autoboxing và Unboxing trong Java
Java Program to Implement Singly Linked List
Java Program to Implement ConcurrentHashMap API
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Send email with JavaMail
Semaphore trong Java
Comparing Arrays in Java
Lập trình đa luồng với CompletableFuture trong Java 8
Java Program to Perform Postorder Recursive Traversal of a Given Binary Tree
Reading an HTTP Response Body as a String in Java
Guide to the Volatile Keyword in Java
Guide to @ConfigurationProperties in Spring Boot