Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để tìm kiếm tuyến tính đệ quy một phần tử trong một mảng

Trong bài này, chúng ta sẽ hiểu cách tìm kiếm tuyến tính đệ quy một phần tử trong mảng. Tìm kiếm tuyến tính là một thuật toán tìm kiếm rất đơn giản, trong đó tìm kiếm tuần tự được thực hiện cho tất cả các mục một.

Dưới đây là một minh chứng về điều tương tự -

Giả sử đầu vào của chúng tôi là -

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

Key element: 72

Đầu ra mong muốn sẽ là -

The element 72 is present at position: 6

Thuật toán

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

Ví dụ 1

Tại đây, chúng tôi hiển thị tìm kiếm tuyến tính trên số nguyên.

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: ");
   }
}

Đầu ra

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

Ví dụ 2

Tại đây, chúng tôi hiển thị tìm kiếm tuyến tính trên chuỗi.

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: ");
   }
}

Đầu ra

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