БИНАРНЫЙ ПОИСК PHP
Бинарный поиск является эффективным способом поиска элемента в отсортированном массиве данных. Он работает за логарифмическое время, что делает его оптимальным решением для больших объемов данных.
Идея бинарного поиска заключается в следующем: сравнивая искомое значение со значением среднего элемента массива и отбрасывая половину массива, которая содержит меньшие элементы, можно сократить количество проверок вдвое. Повторяя этот процесс до тех пор, пока искомое значение не будет найдено, можно быстро выполнить поиск.
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$left = 0;
$right = count($arr) - 1;
$search = 5;
while ($left <= $right) {
$middle = floor(($left + $right) / 2);
if ($arr[$middle] == $search) {
echo "Element found at index " . $middle;
break;
}
if ($arr[$middle] > $search) {
$right = $middle - 1;
} else {
$left = $middle + 1;
}
}
В данном примере мы ищем значение 5 в отсортированном массиве $arr. Мы сначала определяем начальную и конечную точки поиска ($left и $right соответственно), а затем повторяем процесс до тех пор, пока не найдем искомое значение. Если значение найдено, мы выводим сообщение о том, что элемент найден, и прерываем цикл. В противном случае мы сужаем диапазон поиска, и продолжаем поиск до тех пор, пока не найдем искомое значение, или диапазон поиска не станет равным нулю.
Binary Search - Пишем легендарный Бинарный поиск
Тренировки по алгоритмам от Яндекса. Лекция 6: «Бинарный поиск»
Уроки PHP 7 - Регулярные выражения в PHP
Алгоритм Бинарного поиска (Binary Search) - JavaScript
Пишем логику поиска по сайту - Динамический веб-сайт
Бинарный поиск на PHP - Binary Search Algorithm