Add Sparcity of a Matrix [Hacktoberfest] (#2659)
This commit is contained in:
parent
d7ccd2f815
commit
c59d125110
47
Misc/Sparcity.java
Normal file
47
Misc/Sparcity.java
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
package Misc;
|
||||||
|
import java.util.*;
|
||||||
|
/*
|
||||||
|
*A matrix is sparse if many of its coefficients are zero (In general if 2/3rd of matrix elements are 0, it is considered as sparse).
|
||||||
|
*The interest in sparsity arises because its exploitation can lead to enormous computational savings and because many large matrix problems that occur in practice are sparse.
|
||||||
|
*
|
||||||
|
* @author Ojasva Jain
|
||||||
|
*/
|
||||||
|
|
||||||
|
class Sparcity{
|
||||||
|
/*
|
||||||
|
* @return Sparcity of matrix
|
||||||
|
*
|
||||||
|
* where sparcity = number of zeroes/total elements in matrix
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
static double sparcity(double [][] mat){
|
||||||
|
int zero =0;
|
||||||
|
//Traversing the matrix to count number of zeroes
|
||||||
|
for(int i=0;i<mat.length;i++){
|
||||||
|
for(int j=0;j<mat[i].length;j++){
|
||||||
|
if(mat[i][j]==0)
|
||||||
|
zero++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//return sparcity
|
||||||
|
return ((double)zero/(mat.length*mat[1].length));
|
||||||
|
}
|
||||||
|
|
||||||
|
//Driver method
|
||||||
|
public static void main(String [] args){
|
||||||
|
Scanner in = new Scanner(System.in);
|
||||||
|
System.out.println("Enter number of rows in matrix: ");
|
||||||
|
int n = in.nextInt();
|
||||||
|
System.out.println("Enter number of Columns in matrix: ");
|
||||||
|
int m = in.nextInt();
|
||||||
|
|
||||||
|
System.out.println("Enter Matrix elements: ");
|
||||||
|
double [][] mat = new double[n][m];
|
||||||
|
for(int i=0;i<n;i++){
|
||||||
|
for(int j=0;j<m;j++){
|
||||||
|
mat[i][j] = in.nextDouble();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println("Sparcity of matrix is: "+ sparcity(mat));
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user