“Бинарный поиск JavaScript” Ответ

Бинарный поиск в JS

function binarySearch(arr, val) {
  let start = 0;
  let end = arr.length - 1;

  while (start <= end) {
    let mid = Math.floor((start + end) / 2);

    if (arr[mid] === val) {
      return mid;
    }

    if (val < arr[mid]) {
      end = mid - 1;
    } else {
      start = mid + 1;
    }
  }
  return -1;
}
Ball Handler

JS Бинарный поиск


// JavaScript program to implement recursive Binary Search
  
// A recursive binary search function. It returns
// location of x in given array arr[l..r] is present,
// otherwise -1
function binarySearch(arr, l, r, x){
    if (r >= l) {
        let mid = l + Math.floor((r - l) / 2);
  
        // If the element is present at the middle
        // itself
        if (arr[mid] == x)
            return mid;
  
        // If element is smaller than mid, then
        // it can only be present in left subarray
        if (arr[mid] > x)
            return binarySearch(arr, l, mid - 1, x);
  
        // Else the element can only be present
        // in right subarray
        return binarySearch(arr, mid + 1, r, x);
    }
  
    // We reach here when element is not
    // present in array
    return -1;
}
  
let arr = [ 2, 3, 4, 10, 40 ];
let x = 10;
let n = arr.length
let result = binarySearch(arr, 0, n - 1, x);
(result == -1) ? document.write( "Element is not present in array")                   : document.write("Element is present at index " +result);
Dentetsu

Бинарный поиск JavaScript

const arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30];


const binarySearch = (arr, x , start=0, end=arr.length) => {
  if(end < start) return -1;
  
  let mid = Math.floor((start + end) / 2);
  
  if(arr[mid] === x) return mid;

  if(arr[mid] < x) return binarySearch(arr, x, mid+1, end);
  
  else return binarySearch(arr, x , start, mid-1);
}

console.log(arr[binarySearch(arr,8)]);
Clean Crocodile

Ответы похожие на “Бинарный поиск JavaScript”

Вопросы похожие на “Бинарный поиск JavaScript”

Больше похожих ответов на “Бинарный поиск JavaScript” по JavaScript

Смотреть популярные ответы по языку

Смотреть другие языки программирования