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 是的,矩阵是稀疏矩阵