Dưới đây là chương trình Binary Search đệ 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("Phần tử không có trong mảng");
else
System.out.println("Phần tử tìm thấy tại chỉ số: " + result);
}
}
Kết quả
Phần tử tìm thấy tại chỉ số: 6
Lớp Demo chứa hàm binary search nhận trái, phải và giá trị cần tìm. Sau khi triển khai, main tạo instance Demo và gán giá trị cho mảng. Hàm binary search gọi trên mảng truyền giá trị tìm kiếm. Nếu tìm thấy, chỉ số hiển thị, ngược lại thông báo.