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 Sorting of Less than 100 Numbers in O(n) Complexity
Java Program to Implement Affine Cipher
HashSet trong Java hoạt động như thế nào?
Hướng dẫn Java Design Pattern – Transfer Object
Các nguyên lý thiết kế hướng đối tượng – SOLID
Guide to Spring @Autowired
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
Java 8 Collectors toMap
Java Program to Perform Right Rotation on a Binary Search Tree
How to Round a Number to N Decimal Places in Java
Getting the Size of an Iterable in Java
Spring Boot - CORS Support
Java Program to Optimize Wire Length in Electrical Circuit
Tạo ứng dụng Java RESTful Client với thư viện Retrofit
Java Program to Implement a Binary Search Tree using Linked Lists
Java – Write an InputStream to a File
Java Program to Implement String Matching Using Vectors
Guide to Java 8’s Collectors
Java Program to Perform Complex Number Multiplication
Java Program to Find Hamiltonian Cycle in an UnWeighted Graph
Spring Boot - Building RESTful Web Services
Static Content in Spring WebFlux
Java Program to Implement Sorted Circularly Singly Linked List
XML-Based Injection in Spring
HttpClient 4 – Follow Redirects for POST
Extract network card address
Spring Data JPA @Modifying Annotation
Java – Reader to InputStream
Automatic Property Expansion with Spring Boot
Simple Single Sign-On with Spring Security OAuth2
Java Program to Find Nearest Neighbor Using Linear Search
Introduction to Eclipse Collections