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:
Spring Boot - Tomcat Deployment
Java Program to Implement Slicker Algorithm that avoids Triangulation to Find Area of a Polygon
Java 8 Stream API Analogies in Kotlin
Spring Boot - Quick Start
String Operations with Java Streams
Java Program to Generate All Possible Combinations Out of a, b, c, d, e
Guava Collections Cookbook
Java InputStream to String
Java Program to Implement CountMinSketch
LinkedHashSet trong Java hoạt động như thế nào?
Java Program to Implement Leftist Heap
Java Program to Implement Ternary Heap
Java Program to Implement Insertion Sort
Java Program to Search Number Using Divide and Conquer with the Aid of Fibonacci Numbers
Lập trình đa luồng với CompletableFuture trong Java 8
Java Program to Perform String Matching Using String Library
Debug a JavaMail Program
Integer Constant Pool trong Java
Custom Thread Pools In Java 8 Parallel Streams
Java Program to Describe the Representation of Graph using Incidence Matrix
Java Program to Construct an Expression Tree for an Postfix Expression
Spring Cloud AWS – Messaging Support
Tổng quan về ngôn ngữ lập trình java
Spring Boot - Tomcat Port Number
Spring – Injecting Collections
Hướng dẫn Java Design Pattern – Null Object
Đồng bộ hóa các luồng trong Java
A Quick JUnit vs TestNG Comparison
Java Program to Implement Bit Array
Java – Reader to InputStream
Multi Dimensional ArrayList in Java
List Interface trong Java