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

โปรแกรม Java เพื่อค้นหาองค์ประกอบในอาร์เรย์แบบเรียกซ้ำเป็นเส้นตรง


ในบทความนี้ เราจะเข้าใจวิธีการค้นหาองค์ประกอบในอาร์เรย์แบบเรียกซ้ำเป็นเส้นตรง การค้นหาเชิงเส้นเป็นอัลกอริธึมการค้นหาที่ง่ายมากซึ่งจะทำการค้นหาตามลำดับสำหรับรายการทั้งหมดทีละรายการ

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

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

Input array:
14 20 35 47 50 65 72 81 90 99

Key element: 72

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

The element 72 is present at position: 6

อัลกอริทึม

Step 1 - START
Step 2 - Declare a string array namely input_array, two integer namely key_element and index
Step 3 - Define the values.
Step 4 - Iterate through the array.
Step 5 - Define the element to be searched. Invoke the recursive method by passing these parameters.
Step 6 - Define an ‘if’ condition with the condition that a failure would return -1, otherwise the position of the element itself.
Step 7 - Display this on the console.
Step 8 - Stop

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

ที่นี่ เราแสดงการค้นหาเชิงเส้นของจำนวนเต็ม

public class LinearSearch {
   static int recSearch(int input_array[], int l, int r, int key_element) {
      if (r < l)
         return -1;
      if (input_array[l] == key_element)
         return l;
      if (input_array[r] == key_element)
         return r;
      return recSearch(input_array, l+1, r-1, key_element);
   }
   public static void main(String[] args) {
      int input_array[] = {14, 20, 35, 47, 50, 65, 72, 81, 90, 99};
      System.out.println("The elements of the array is defined as ");
      for (int i : input_array) {
         System.out.print(i +" ");
      }
      int key_element = 72;
      System.out.println("\n\nThe elements to be searched in the array is: " + key_element);
      int index = recSearch(input_array, 0, input_array.length-1, key_element);
      if (index != -1)
         System.out.println("\nThe element " + key_element + " is present at position: " + index);
      else
         System.out.println("Element " + key_element + " is not present: ");
   }
}

ผลลัพธ์

The elements of the array is defined as
14 20 35 47 50 65 72 81 90 99

The elements to be searched in the array is: 72

The element 72 is present at position: 6

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

ที่นี่ เราแสดงการค้นหาเชิงเส้นในสตริง

public class Demo {
   static int recSearch(String input_array[], int l, int r, String key_element) {
      if (r < l)
         return -1;
      if (input_array[l] == key_element)
         return l;
      if (input_array[r] == key_element)
         return r;
      return recSearch(input_array, l+1, r-1, key_element);
   }
   public static void main(String[] args) {
      String input_array[] = { "Scala", "Java", "Python", "Mysql"};
      System.out.println("The elements of the array is defined as ");
      for (String i : input_array) {
         System.out.print(i +" ");
      }
      String key_element = "Java";
      System.out.println("\n\nThe elements to be searched in the array is: " + key_element);
      int index = recSearch(input_array, 0, input_array.length-1, key_element);
      if (index != -1)
         System.out.println("\nThe element " + key_element + " is present at position: " + index);
      else
         System.out.println("Element " + key_element + " is not present: ");
   }
}

ผลลัพธ์

The elements of the array is defined as
Scala Java Python Mysql

The elements to be searched in the array is: Java

The element Java is present at position: 1