Сегодня мы рассмотрим очень простую тему поиска в python. Я все еще изучаю эту (не раскрывать сейчас) тему, поэтому в основном в следующем блоге мы начнем с этой темы. Таким образом, мы можем искать элемент в списке / массиве в Python тремя способами:

  1. Работа со списком Python
  2. Линейный поиск
  3. Бинарный поиск

Операция со списком Python и линейный поиск - это одна и та же операция, отличается только синтаксис. Используя операцию списка Python, мы проверим, присутствует ли элемент в списке (любой элемент), если он присутствует, мы проверим, равен ли этот элемент требуемому значению. Если значение присутствует, мы изменим значение флага, которое ранее было инициализировано на 0. Теперь после цикла, если флаг все еще равен 0, это означает, что значение отсутствует.

for i in h: # элемент присутствует или нет
if i == value:
return (‘Present’)

Для линейного поиска мы пройдемся по всем элементам в массиве, и если элемент равен требуемому значению, мы вернем «настоящее» и выйдем из цикла. Мы можем проверить, отсутствует ли значение, так же, как в предыдущем случае.

p = len (a)
для i в диапазоне (0, p, 1):
если a [i] == b:
return (‘Present’)

Последний из них наиболее эффективен, он называется двоичным поиском, где мы используем рекурсию и требует сортировки нашего массива. В python мы можем легко отсортировать массив с помощью встроенной функции sort (). В бинарном поиске мы сначала найдем средний элемент. Теперь, если наше требуемое значение больше среднего элемента, мы будем искать элемент во второй половине. Если значение меньше среднего элемента, мы будем искать в первой половине. Затем мы рекурсивно вызовем функцию, чтобы найти значение.

Последний выглядит длинным, но имеет наименьшую временную сложность. Результат будет одинаковым для всех случаев. Вы можете увидеть эффективность двоичного поиска, когда берутся большие значения, когда нормальный линейный поиск приводит к таймауту. Результатом будет:

Итак, на сегодня все, мы скоро перейдем к продвинутому программированию на Python, и я надеюсь, вам понравится новый контент, который я буду представлять. Если вам до сих пор не нравились или не посещали, то посетите мою страницу в Facebook, где я делюсь некоторыми видео о python и arduino. Я поделился ссылкой ниже, а пока продолжайте кодировать ...

Https://www.facebook.com/ashishsharma260696