Двоичный поиск — более эффективный алгоритм поиска элемента в отсортированном массиве. Он работает путем многократного деления интервала поиска пополам. Вот подробное описание вашей функции бинарного поиска:
function binarySearch(array $arr, float|int $x) { $low = 0; $high = count($arr)-1; // $midIndex = (int) ($low ($high - $low)/2); $i = 0; while($low $arr[$midIndex]){ $low = $midIndex 1; echo $low."\n"; }else{ $high = $midIndex - 1; } } return "The number {$x} was not found in the array"; } echo binarySearch([1,2,3,4,5,6,7,8,9,10,44,45,46,47,48,49,50], 45)
ФункцияbinarySearch принимает два параметра:
Линейный поиск — один из простейших алгоритмов поиска, используемый для поиска определенного элемента в массиве. Давайте разберем функцию линейного поиска в PHP.
function linearSearch(array $arr, float|int $x) { for($i=0; $iФункция LinearSearch принимает два параметра:
- $arr: Массив целых чисел.
- $x: Число для поиска, которое может быть числом с плавающей запятой или целым числом.
- Цикл for перебирает каждый элемент массива. Функция count($arr) возвращает количество элементов массива.
- Внутри цикла код проверяет, равен ли текущий элемент ($arr[$i]) $x. Если совпадение найдено, оно возвращает сообщение с указанием индекса, по которому было найдено число.
- Если цикл завершается и число не найдено, функция возвращает сообщение о том, что число не найдено в массиве.
- Линейный поиск прост и прост в реализации. Он последовательно проверяет каждый элемент массива, пока не будет найден нужный элемент или не будет достигнут конец массива. Этот подход прост, но может быть неэффективным для больших массивов, поскольку его временная сложность равна O(n).
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3