51. Алгоритм Бинарного поиска refresh - Грокаем алгоритмы, код JS. Задачи Литкода с бинарным поиском
бинарный поиск const array = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] let count = 0 function binarySearch(array, item) { let start = 0 let end = array.length let middle; let found = false let position = -1 while (found === false && start ◀️= end) { count+=1 middle = Math.floor((start + (end-start) / 2)); if (array[middle] === item) { found = true position = middle return position; } if (item ◀️ array[middle]) { end = middle - 1 } else { start = middle + 1 } } return position; } function recursiveBinarySearch(array, item, start, end) { let middle = Math.floor((start + (end-start) / 2)); count += 1 if (item === array[middle]) { return middle } if (item ◀️ array[middle]) { return recursiveBinarySearch(array, item, start, middle - 1 ) } else { return recursiveBinarySearch(array, item, middle + 1, end ) } } console.log(recursiveBinarySearch(array, 7, 0, array.length)) console.log(count) ◀️ - математический знак меньше чем.
Название:
51. Алгоритм Бинарного поиска refresh - Грокаем алгоритмы, код JS. Задачи Литкода с бинарным поиском
Категория:
Разное