Сеня рядом и Белла пришел. Былое
Выборка значения по двум критериям (INDEX & MATCH)
Не устану повторять, что многими любимая функция ВПР (VLOOKUP) бесконечно уступает паре функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH). Вот и еще один пример элегантного решения частой задачи - выбрать значение из списка, но не по одному критерию, а по нескольким. Зачем это нужно? Ну, например, нужно отобразить название по артикулу товара, в случае когда у разных брендов артикулы могут совпадать. Или когда есть категории и подкатегории. Да проще показать на примере! Предположим, мы делаем автоматическую...
✨ Алгоритм двоичного поиска в PHP ✨ 🔍 Алгоритм двоичного поиска является эффективным способом поиска значения в упорядоченном массиве. Он использует метод деления пополам для нахождения искомого значения. В этом посте мы рассмотрим подробно алгоритм двоичного поиска и предоставим примеры его реализации на PHP. 🔑 Алгоритм двоичного поиска Алгоритм двоичного поиска работает на основе следующих шагов: 1. Определите границы поиска: установите начальную левую границу (left) в начало массива и правую границу (right) в его конец. 2. Найдите средний элемент массива: вычислите индекс среднего элемента, используя формулу (left + right) / 2. Полученное значение округлите вниз до целого числа. 3. Сравните средний элемент с искомым значением: Если средний элемент равен искомому значению, возвращаем его индекс. Если средний элемент больше искомого значения, обновляем правую границу на один индекс меньше среднего элемента. Если средний элемент меньше искомого значения, обновляем левую границу на один индекс больше среднего элемента. 4. Повторяем шаги 2-3 до тех пор, пока не найдем искомое значение или границы поиска сойдутся (left > right). 🌟 Преимущества алгоритма двоичного поиска: Эффективность: Алгоритм двоичного поиска работает с временной сложностью O(log n), что делает его эффективным для больших упорядоченных массивов. Универсальность: Алгоритм двоичного поиска может применяться не только для поиска значений в массивах, но и для других упорядоченных структур данных. ⚠️ Ограничения алгоритма двоичного поиска: Ограниченность по условию сортировки: Алгоритм двоичного поиска требует, чтобы массив был упорядоченным. Если массив не отсортирован, нужно предварительно выполнить сортировку. 📚 Конечно, в современных языках программирования для поиска существует множество нативных функций, например array_search() в PHP, тем не менее, базовые алгоритмы нужно знать и понимать, если вы хотите стать профессионалом своего дела. #php #алгоритмы