# Check if a given matrix is sparse or not

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.

Implementation:

## C++

 `// CPP code to check if a matrix is``// sparse.``#include ``using` `namespace` `std;` `const` `int` `MAX = 100;` `bool` `isSparse(``int` `array[][MAX], ``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``int` `main()``{``    ``int` `array[][MAX] = { { 1, 0, 3 }, ``                        ``{ 0, 0, 4 }, ``                        ``{ 6, 0, 0 } };` `    ``int` `m = 3,``        ``n = 3;``    ``if` `(isSparse(array, m, n))``        ``cout << ``"Yes"``;``    ``else``        ``cout << ``"No"``;``}`

## 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.`

## Python3

 `# Python 3 code to check``# if a matrix is``# sparse.` `MAX` `=` `100`` ` `def` `isSparse(array,m, n) :``    ` `    ``counter ``=` `0`` ` `    ``# Count number of zeros``    ``# in the matrix``    ``for` `i ``in` `range``(``0``,m) :``        ``for` `j ``in` `range``(``0``,n) :``            ``if` `(array[i][j] ``=``=` `0``) :``                ``counter ``=` `counter ``+` `1`` ` `    ``return` `(counter > ``            ``((m ``*` `n) ``/``/` `2``))` `# Driver Function``array ``=` `[ [ ``1``, ``0``, ``3` `],``          ``[ ``0``, ``0``, ``4` `],``          ``[ ``6``, ``0``, ``0` `] ]``m ``=` `3``n ``=` `3` `if` `(isSparse(array, m, n)) :``    ``print``(``"Yes"``)``else` `:``    ``print``(``"No"``)``    ` `    ` `# this code is contributed by``# Nikita tiwari`

## C#

 `// C# code to check if a matrix is``// sparse.``using` `System;` `class` `GFG {``    ` `    ``static` `bool` `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()``    ``{``        ``int` `[,]array = { { 1, 0, 3 }, ``                         ``{ 0, 0, 4 }, ``                         ``{ 6, 0, 0 } };``    ` `        ``int` `m = 3,``            ``n = 3;``            ` `        ``if` `(isSparse(array, m, n))``            ``Console.WriteLine(``"Yes"``);``        ``else``            ``Console.WriteLine(``"No"``);``    ``}``}` `// This code is contributed by vt_m.`

## PHP

 ` ((``\$m` `* ``\$n``) / 2));``}` `    ``// Driver Code``    ``\$array` `= ``array``(``array``(1, 0, 3), ``                   ``array``(0, 0, 4), ``                   ``array``(6, 0, 0));` `    ``\$m` `= 3;``    ``\$n` `= 3;``    ``if` `(isSparse(``\$array``, ``\$m``, ``\$n``))``        ``echo` `"Yes"``;``    ``else``        ``echo` `"No"``;` `// This code is contributed by anuj_67.``?>`

## Javascript

 ``

Output
`Yes`

Time Complexity: O(m*n)
Auxiliary Space: O(1)

Previous
Next