Open In App

Java Program to Check if a given matrix is sparse or not

Improve
Improve
Like Article
Like
Save
Share
Report

A matrix is a two-dimensional data object having m rows and n columns, therefore a total of m*n values. If most of the values of a matrix are 0 then we say that the matrix is sparse. 
Consider a definition of Sparse where a matrix is considered sparse if the number of 0s is more than half of the elements in the matrix,

Examples: 

Input : 1 0 3
        0 0 4
        6 0 0
Output : Yes
There are 5 zeros. This count
is more than half of matrix
size.

Input : 1 2 3
        0 7 8
        5 0 7 
Output: No 

To check whether a matrix is a sparse matrix, we only need to check the total number of elements that are equal to zero. If this count is more than (m * n)/2, we return true. 

Java




// Java code to check
// if a matrix is
// sparse.
 
import java.io.*;
 
class GFG {
     
    static int MAX = 100;
      
    static boolean isSparse(int array[][], int m, int n)
    {
        int counter = 0;
      
        // Count number of zeros in the matrix
        for (int i = 0; i < m; ++i)
            for (int j = 0; j < n; ++j)
                if (array[i][j] == 0)
                    ++counter;
      
        return (counter > ((m * n) / 2));
    }
      
    // Driver Function
    public static void main(String args[])
    {
        int array[][] = { { 1, 0, 3 },
                            { 0, 0, 4 },
                            { 6, 0, 0 } };
      
        int m = 3,
            n = 3;
        if (isSparse(array, m, n))
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}
 
// This code is contributed by
// Nikita Tiwari.


Output:  

Yes

Time complexity: O(m*n) where m is no of rows and n is no of columns of matrix

Auxiliary Space: O(1)

Please refer complete article on Check if a given matrix is sparse or not for more details!



Last Updated : 11 Jul, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads