«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Алгоритмы поиска

Алгоритмы поиска

Опубликовано 31 июля 2024 г.
Просматривать:278

Search Algorithms

Понимание двоичного поиска в PHP

Двоичный поиск — более эффективный алгоритм поиска элемента в отсортированном массиве. Он работает путем многократного деления интервала поиска пополам. Вот подробное описание вашей функции бинарного поиска:

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 принимает два параметра:

  1. $arr: отсортированный массив целых чисел.
  2. $x: Число для поиска, которое может быть числом с плавающей запятой или целым числом.
  3. $low инициализируется первым индексом массива.
  4. $high инициализируется последним индексом массива.
  5. $i — счетчик для отслеживания количества итераций.
  6. Цикл while выполняется до тех пор, пока действителен интервал поиска ($low меньше или равен $high).
  7. $midIndex рассчитывается как средний индекс текущего интервала.
  8. Если средний элемент равен $x, функция возвращает индекс и количество итераций.
  9. Если $x больше среднего элемента, настройте $low на MidIndex 1 (ограничьте поиск до верхней половины).
  10. Если $x меньше среднего элемента, измените значение $high на MidIndex - 1 (ограничьте поиск до нижней половины).

Понимание линейного поиска в PHP

Линейный поиск — один из простейших алгоритмов поиска, используемый для поиска определенного элемента в массиве. Давайте разберем функцию линейного поиска в PHP.

function linearSearch(array $arr, float|int $x)
{
    for($i=0; $i 



Функция LinearSearch принимает два параметра:

  1. $arr: Массив целых чисел.
  2. $x: Число для поиска, которое может быть числом с плавающей запятой или целым числом.
  3. Цикл for перебирает каждый элемент массива. Функция count($arr) возвращает количество элементов массива.
  4. Внутри цикла код проверяет, равен ли текущий элемент ($arr[$i]) $x. Если совпадение найдено, оно возвращает сообщение с указанием индекса, по которому было найдено число.
  5. Если цикл завершается и число не найдено, функция возвращает сообщение о том, что число не найдено в массиве.
  6. Линейный поиск прост и прост в реализации. Он последовательно проверяет каждый элемент массива, пока не будет найден нужный элемент или не будет достигнут конец массива. Этот подход прост, но может быть неэффективным для больших массивов, поскольку его временная сложность равна O(n).
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/ayowandeapp/search-algorithms-2613?1. В случае нарушения прав свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3