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

Chương trình Java cho tìm kiếm nhị phân (đệ quy)

Sau đây là chương trình Tìm kiếm nhị phân đệ quy trong Java -

Ví dụ

public class Demo{
   int rec_bin_search(int my_arr[], int left, int right, int x){
      if (right >= left){
         int mid = left + (right - left) / 2;
         if (my_arr[mid] == x)
         return mid;
         if (my_arr[mid] > x)
         return rec_bin_search(my_arr, left, mid - 1, x);
         return rec_bin_search(my_arr, mid + 1, right, x);
      }
      return -1;
   }
   public static void main(String args[]){
      Demo my_object = new Demo();
      int my_arr[] = { 56, 78, 90, 32, 45, 99, 104};
      int len = my_arr.length;
      int x = 104;
      int result = my_object.rec_bin_search(my_arr, 0, len - 1, x);
      if (result == -1)
         System.out.println("The element is not present in the array");
      else
         System.out.println("The element has been found at index " + result);
   }
}

Đầu ra

The element has been found at index 6

Một lớp có tên Demo chứa hàm tìm kiếm nhị phân, hàm tìm kiếm bên trái bên phải và giá trị cần được tìm kiếm. Sau khi thực hiện tìm kiếm nhị phân, một hàm chính sẽ tạo một phiên bản của đối tượng Demo và gán giá trị cho một mảng. Hàm tìm kiếm nhị phân này được gọi trên mảng bằng cách chuyển một giá trị cụ thể để tìm kiếm dưới dạng tham số. Nếu được tìm thấy, chỉ mục sẽ được hiển thị, nếu không, một thông báo có liên quan sẽ được hiển thị.