Java 程序确定给定矩阵是否为稀疏矩阵

javacampus interviewserver side programmingprogramming

在本文中,我们将了解如何确定给定矩阵是否为稀疏矩阵。如果矩阵的大多数元素为 0,则该矩阵被称为稀疏矩阵。这意味着它包含非常少的非零元素。

下面是相同的演示 −

假设我们的输入是

Input matrix:
4 0 6
0 0 9
6 0 0

期望的输出将是

是的,该矩阵是稀疏矩阵

算法

步骤 1 - 开始
步骤 2 - 声明一个整数矩阵,即 input_matrix
步骤 3 - 定义值。
步骤 4 - 使用两个 for 循环遍历矩阵的每个元素,计算值为 0 的元素数。
步骤 5 - 如果零元素大于总元素的一半,则为稀疏矩阵,否则不是。
步骤 6 - 显示结果。
步骤 7 - 停止

示例 1

在这里,我们将所有操作绑定在‘main’ 函数下。

public class Sparse {
   public static void main(String args[]) {
      int input_matrix[][] = {
         { 4, 0, 6 },
         { 0, 0, 9 },
         { 6, 0, 0 }
      };
      System.out.println("矩阵定义为:");
      int rows = 3;
      int column = 3;
      int counter = 0;
      for (int i = 0; i < rows; i++) {
         for (int j = 0; j < column; j++) {
            System.out.print(input_matrix[i][j] + " ");
         }
         System.out.println();
      }
      for (int i = 0; i < rows; ++i)
          for (int j = 0; j < column; ++j)
            if (input_matrix[i][j] == 0)
               ++counter;
            if (counter > ((rows * column) / 2))
                System.out.println("\n是的,该矩阵是稀疏矩阵");
            else
              System.out.println("\n否,该矩阵不是稀疏矩阵");
   }
}

输出

矩阵定义为:
4 0 6
0 0 9
6 0 0

是的,矩阵是稀疏矩阵

示例2

在这里,我们将操作封装到展示面向对象编程的函数中。

public class Sparse {
   static int rows = 3;
   static int column = 3;
   static void is_sparse(int input_matrix[][]){
      int counter = 0;
      for (int i = 0; i < rows; i++) {
          for (int j = 0; j < column; j++) {
            System.out.print(input_matrix[i][j] + " ");
         }
         System.out.println();
      }
      for (int i = 0; i < rows; ++i)
          for (int j = 0; j < column; ++j)
            if (input_matrix[i][j] == 0)
               ++counter;
            if (counter > ((rows * column) / 2))
               System.out.println("\n是的,该矩阵是稀疏矩阵");
            else
             System.out.println("\n否,该矩阵不是稀疏矩阵");
   }
    public static void main(String args[]) {
      int input_matrix[][] = { { 4, 0, 6 },
           { 0, 0, 9 },
          { 6, 0, 0 }
      };
      System.out.println("矩阵定义为:");
      is_sparse(input_matrix);
   }
}

输出

矩阵定义为:
4 0 6
0 0 9
6 0 0

是的,矩阵是稀疏矩阵

相关文章