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:
File Upload with Spring MVC
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
Deploy a Spring Boot App to Azure
Inheritance with Jackson
Java Program for Douglas-Peucker Algorithm Implementation
Spring MVC Custom Validation
Java Program to Implement Min Heap
The Order of Tests in JUnit
Chương trình Java đầu tiên
Java Collections Interview Questions
Tính đóng gói (Encapsulation) trong java
Java Program to Perform Insertion in a 2 Dimension K-D Tree
Java Program to Find Maximum Element in an Array using Binary Search
String Operations with Java Streams
Removing all duplicates from a List in Java
Converting Between Byte Arrays and Hexadecimal Strings in Java
Java Program to Check whether Graph is a Bipartite using 2 Color Algorithm
Spring Boot - Admin Server
Java Program to Implement Sparse Matrix
Java Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree
Registration – Activate a New Account by Email
Java Program to Implement Graph Coloring Algorithm
Giới thiệu Design Patterns
Zipping Collections in Java
Java Program to Implement Direct Addressing Tables
So sánh ArrayList và Vector trong Java
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
Java Program to Find kth Largest Element in a Sequence
A Guide to the ResourceBundle
Spring Security 5 – OAuth2 Login
Receive email using POP3
Hướng dẫn Java Design Pattern – Observer