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.
<script> // Javascript code to check
// if a matrix is
// sparse.
let MAX = 100;
function isSparse(array, m, n)
{
let counter = 0;
// Count number of zeros in the matrix
for (let i = 0; i < m; ++i)
for (let j = 0; j < n; ++j)
if (array[i][j] == 0)
++counter;
return (counter > parseInt((m * n) / 2), 10);
}
let array = [ [ 1, 0, 3 ],
[ 0, 0, 4 ],
[ 6, 0, 0 ] ];
let m = 3,
n = 3;
if (isSparse(array, m, n))
document.write( "Yes" );
else
document.write( "No" );
</script> |
Output:
Yes
Time complexity: O(m*n) where m and n are rows and columns respectively of a given matrix.
Auxiliary Space: O(1)
Please refer complete article on Check if a given matrix is sparse or not for more details!