60 lines
1.8 KiB
Java
60 lines
1.8 KiB
Java
|
/*
|
||
|
This is the java program to find out a given matrix is sparse matrix or not. Sparse matrix contains zero elements above a certain threshold. This threshold is given by (n*m)/2, where n and m are the rows and columns in matrix. Hence, if a matrix contains more than nm/2 mumber of zeros it is sparse matrix otherwise not.
|
||
|
*/
|
||
|
|
||
|
//This is a sample program to check whether the matrix is sparse matrix or not
|
||
|
//The complexity of the code is O(n^2)
|
||
|
import java.util.Scanner;
|
||
|
|
||
|
public class Sparsity_Matrix
|
||
|
{
|
||
|
public static void main(String args[])
|
||
|
{
|
||
|
Scanner sc = new Scanner(System.in);
|
||
|
System.out.println("Enter the dimensions of the matrix: ");
|
||
|
int m = sc.nextInt();
|
||
|
int n = sc.nextInt();
|
||
|
double[][] mat = new double[m][n];
|
||
|
int zeros = 0;
|
||
|
System.out.println("Enter the elements of the matrix: ");
|
||
|
for(int i=0; i<m; i++)
|
||
|
{
|
||
|
for(int j=0; j<n; j++)
|
||
|
{
|
||
|
mat[i][j] = sc.nextDouble();
|
||
|
if(mat[i][j] == 0)
|
||
|
{
|
||
|
zeros++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if(zeros > (m*n)/2)
|
||
|
{
|
||
|
System.out.println("The matrix is a sparse matrix");
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
System.out.println("The matrix is not a sparse matrix");
|
||
|
}
|
||
|
sc.close();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
|
||
|
Enter the dimensions of the matrix:
|
||
|
2 3
|
||
|
Enter the elements of the matrix:
|
||
|
1 0 0
|
||
|
2 1 1
|
||
|
The matrix is not a sparse matrix
|
||
|
|
||
|
$ javac Sparsity_matrix.java
|
||
|
$ java Sparsity_matrix
|
||
|
Enter the dimensions of the matrix:
|
||
|
3 4
|
||
|
Enter the elements of the matrix:
|
||
|
1 0 0 0
|
||
|
0 1 0 0
|
||
|
0 0 1 1
|
||
|
The matrix is a sparse matrix
|