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:
Guava Collections Cookbook
A Quick Guide to Spring MVC Matrix Variables
Spring Data MongoDB – Indexes, Annotations and Converters
Java Program to Implement Insertion Sort
Introduction to Spring Method Security
Java Program to Implement Bit Array
Java Program to Check whether Directed Graph is Connected using DFS
Java Program to Perform Finite State Automaton based Search
Build a REST API with Spring and Java Config
Java Program to Implement Find all Forward Edges in a Graph
Checked and Unchecked Exceptions in Java
Java Program to Implement Gift Wrapping Algorithm in Two Dimensions
Apache Commons Collections OrderedMap
Java IO vs NIO
Spring Cloud – Bootstrapping
Lớp Arrarys trong Java (Arrays Utility Class)
Check If Two Lists are Equal in Java
Java Program to Perform Partition of an Integer in All Possible Ways
Java Program to Construct an Expression Tree for an Postfix Expression
Converting a Stack Trace to a String in Java
Convert Hex to ASCII in Java
Notify User of Login From New Device or Location
Hướng dẫn sử dụng Java Generics
Java Program to Implement SynchronosQueue API
Một số tính năng mới về xử lý ngoại lệ trong Java 7
Java Program to Implement Hash Tables with Quadratic Probing
Java Program to Check Cycle in a Graph using Topological Sort
Spring Boot - Hystrix
Spring REST API + OAuth2 + Angular (using the Spring Security OAuth legacy stack)
Java Program to Implement the Monoalphabetic Cypher
Adding a Newline Character to a String in Java
A Guide to the ViewResolver in Spring MVC