检查给定的矩阵是否为稀疏矩阵 (C++)
在此,我们将了解如何检查矩阵是否是稀疏矩阵。稀疏矩阵是指矩阵中大部分元素为 0 的矩阵。稀疏矩阵的定义是,如果 2/3 的元素为 0,则表示该矩阵是一个稀疏矩阵。这里有一个稀疏矩阵示例。

要进行检查,我们将统计矩阵中 0 的个数,如果该数量大于元素总数的 2/3,则此矩阵是一个稀疏矩阵。
示例
#include <iostream>
#include <cmath>
#define MAX 5
using namespace std;
bool isSparseMatrix(int arr[][MAX], int m, int n) {
int counter = 0;
for (int i = 0; i < m; i++)
for (int j = 0; j <n; j++)
if (arr[i][j] == 0)
counter++;
return (counter > (2*(m * n) / 3));
}
int main() {
int matrix[MAX][MAX] = {
{0, 2, 0, 0, 0},
{8, 0, 0, 0, 0},
{0, 3, 0, 0, 0},
{0, 9, 0, 3, 0},
{0, 0, 0, 0, 4}
};
if(isSparseMatrix(matrix, MAX, MAX)){
cout << "This is sparse matrix";
} else {
cout << "This is not sparse matrix";
}
}输出
This is sparse matrix
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP