Minh hoạ trực quan phương pháp Đệ Quy & Tư tưởng "Chia Để Trị" (Divide and Conquer)
Hãy nhập một số và bấm Bắt đầu tìm kiếm.
function binarySearch(arr, target, left, right) {
if (left > right) {
return -1; // Không tìm thấy
}
let mid = Math.floor((left + right) / 2);
if (arr[mid] === target) {
return mid; // Tìm thấy!
}
else if (arr[mid] > target) {
// Divide: Bỏ nửa phải
return binarySearch(arr, target, left, mid - 1);
}
else {
// Divide: Bỏ nửa trái
return binarySearch(arr, target, mid + 1, right);
}
}