檢查給定的矩陣是否為稀疏矩陣 (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

更新日期:2019-10-21

403 次瀏覽

開啟你的職業生涯

完成課程並進行認證

開始
廣告
© . All rights reserved.