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 Compute Discrete Fourier Transform Using the Fast Fourier Transform Approach
Java Program to Implement Fibonacci Heap
Copy a List to Another List in Java
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
Java Program to Find Median of Elements where Elements are Stored in 2 Different Arrays
Notify User of Login From New Device or Location
Spring Security and OpenID Connect
Phân biệt JVM, JRE, JDK
Hướng dẫn Java Design Pattern – Transfer Object
Hướng dẫn Java Design Pattern – Abstract Factory
Java Program to Implement the MD5 Algorithm
Java Program to Implement Heap
Java Program to Implement Double Order Traversal of a Binary Tree
Java Program to Perform Inorder Recursive Traversal of a Given Binary Tree
Java 8 Predicate Chain
Giới thiệu java.io.tmpdir
Why String is Immutable in Java?
Spring MVC and the @ModelAttribute Annotation
Guide to Java 8 groupingBy Collector
Creating a Custom Starter with Spring Boot
Logout in an OAuth Secured Application
Spring Boot With H2 Database
Java Program to Implement Sorted Circularly Singly Linked List
Java Program to Implement Self organizing List
Read an Outlook MSG file
Debug a HttpURLConnection problem
Primitive Type Streams in Java 8
Check If a File or Directory Exists in Java
Configure a Spring Boot Web Application
Java Program to Implement Ford–Fulkerson Algorithm
Java Program to Generate Date Between Given Range