
在给定的矩阵中,当大多数元素为零时,我们称之为稀疏矩阵。 例如 - 3 x3 矩阵
1 1 0 0 0 2 0 0 0
在这个矩阵中,大部分元素都是零,所以它是一个稀疏矩阵。
问题
检查一个矩阵是否是稀疏矩阵。
解决方案
让我们假设矩阵中的零大于(行数 * 列数)/2。
那么,这个矩阵就是一个稀疏矩阵,否则不是。
matlab基础知识简介 中文WORD版下载MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。MATLAB基础知识;命令窗口是用户与MATLAB进行交互作业的主要场所,用户输入的MATLAB交互命令均在命令窗口执行。 感兴趣的朋友可以
程序
以下是检查给定矩阵是否为稀疏矩阵的程序:
演示
#include#include int main(){ int row,col,i,j,a[10][10],count = 0; printf("Enter row "); scanf("%d",&row); printf("Enter Column
"); scanf("%d",&col); printf("Enter Element of Matrix1
"); for(i = 0; i < row; i++){ for(j = 0; j < col; j++){ scanf("%d",&a[i][j]); } } printf("Elements are:
"); for(i = 0; i < row; i++){ for(j = 0; j < col; j++){ printf("%d\t",a[i][j]); } printf("
"); } /*checking sparse of matrix*/ for(i = 0; i < row; i++){ for(j = 0; j < col; j++){ if(a[i][j] == 0) count++; } } if(count > ((row * col)/2)) printf("Matrix is a sparse matrix
"); else printf("Matrix is not sparse matrix
"); }
输出
当执行上述程序时,会产生以下结果 -
Run 1: Enter row 3 Enter Column 2 Enter Element of Matrix1 1 0 2 0 2 0 Elements are: 1 0 2 0 2 0 Matrix is not sparse matrix Run 2: Enter row 3 Enter Column 2 Enter Element of Matrix1 1 0 0 0 0 0 Elements are: 1 0 0 0 0 0 Matrix is a sparse matrix









