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:
Giới thiệu Swagger – Công cụ document cho RESTfull APIs
Configuring a DataSource Programmatically in Spring Boot
Java Program to Solve the Fractional Knapsack Problem
Receive email using POP3
Spring REST API + OAuth2 + Angular
Java Program to Implement Fenwick Tree
Java Program to Generate Random Numbers Using Multiply with Carry Method
Converting a Stack Trace to a String in Java
Functional Interfaces in Java 8
Introduction to Apache Commons Text
Quick Guide to Spring Controllers
Java Program to Perform Addition Operation Using Bitwise Operators
Java Program to Implement Leftist Heap
Java Program to Implement vector
Java Program to Implement Treap
Spring Cloud AWS – EC2
Case-Insensitive String Matching in Java
Documenting a Spring REST API Using OpenAPI 3.0
Tips for dealing with HTTP-related problems
Spring Boot - Interceptor
Hướng dẫn sử dụng luồng vào ra ký tự trong Java
An Intro to Spring Cloud Zookeeper
Converting Strings to Enums in Java
Merging Streams in Java
Hướng dẫn sử dụng lớp Console trong java
HttpClient 4 – Follow Redirects for POST
Phân biệt JVM, JRE, JDK
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Java Program to Implement Coppersmith Freivald’s Algorithm
OAuth2.0 and Dynamic Client Registration
Form Validation with AngularJS and Spring MVC
Spring Boot - Enabling Swagger2