Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java เพื่อตรวจสอบว่า Matrix ที่กำหนดเป็น Sparse Matrix หรือไม่


ในบทความนี้ เราจะเข้าใจวิธีการตรวจสอบว่าเมทริกซ์ที่ระบุเป็นเมทริกซ์กระจัดกระจายหรือไม่ กล่าวกันว่าเมทริกซ์เป็นเมทริกซ์เบาบางหากองค์ประกอบส่วนใหญ่ของเมทริกซ์นั้นเป็น 0 แสดงว่าเมทริกซ์มีองค์ประกอบที่ไม่ใช่ศูนย์น้อยมาก

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -

สมมติว่าข้อมูลที่เราป้อนคือ

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

ผลลัพธ์ที่ต้องการจะเป็น

Yes, the matrix is a sparse matrix

อัลกอริทึม

Step 1 - START
Step 2 - Declare an integer matrix namely input_matrix
Step 3 - Define the values.
Step 4 - Iterate over each element of the matrix using two for-loops, count the number of elements that have the value 0.
Step 5 - If the zero elements is greater than half the total elements, It’s a sparse matrix, else its not.
Step 6 - Display the result.
Step 7 - Stop

ตัวอย่างที่ 1

ที่นี่ เราเชื่อมโยงการดำเนินการทั้งหมดเข้าด้วยกันภายใต้ฟังก์ชัน 'หลัก'

public class Sparse {
   public static void main(String args[]) {
      int input_matrix[][] = {
         { 4, 0, 6 },
         { 0, 0, 9 },
         { 6, 0, 0 }
      };
      System.out.println("The matrix is defined as: ");
      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("\nYes, the matrix is a sparse matrix");
            else
               System.out.println("\nNo, the matrix is not a sparse matrix");
   }
}

ผลลัพธ์

The matrix is defined as:
4 0 6
0 0 9
6 0 0

Yes, the matrix is a sparse matrix

ตัวอย่างที่ 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("\nYes, the matrix is a sparse matrix");
            else
               System.out.println("\nNo, the matrix is not a sparse matrix");
   }
   public static void main(String args[]) {
      int input_matrix[][] = { { 4, 0, 6 },
         { 0, 0, 9 },
         { 6, 0, 0 }
      };
      System.out.println("The matrix is defined as: ");
      is_sparse(input_matrix);
   }
}

ผลลัพธ์

The matrix is defined as:
4 0 6
0 0 9
6 0 0

Yes, the matrix is a sparse matrix