Алгоритм линейного поиска в Python: реализация и альтернативные методы

Вот пример алгоритма линейного поиска, реализованного на Python:

def linear_search(arr, target):
    for i in range(len(arr)):
        if arr[i] == target:
            return i  # Return the index if the target is found
    return -1  # Return -1 if the target is not found
# Example usage
my_list = [4, 2, 9, 5, 1, 8]
target_number = 5
result = linear_search(my_list, target_number)
if result != -1:
    print("Target found at index", result)
else:
    print("Target not found")

В этом коде функция linear_searchпринимает на вход массив (arr) и целевое значение (target). Он перебирает каждый элемент массива и проверяет, соответствует ли он целевому значению. Если совпадение найдено, оно возвращает индекс элемента. Если совпадение не найдено, возвращается -1.

Вот несколько альтернативных подходов к реализации алгоритма линейного поиска в Python:

  1. Использование цикла while:

    def linear_search(arr, target):
    i = 0
    while i < len(arr):
        if arr[i] == target:
            return i
        i += 1
    return -1
  2. Использование перечисления:

    def linear_search(arr, target):
    for idx, val in enumerate(arr):
        if val == target:
            return idx
    return -1
  3. Использование понимания списка:

    def linear_search(arr, target):
    return [idx for idx, val in enumerate(arr) if val == target][0] if target in arr else -1