Рубрики

Программа Python для линейного поиска

Проблема: Учитывая массив arr [] из n элементов, напишите функцию для поиска данного элемента x в arr [].
Примеры :

Input : arr[] = {10, 20, 80, 30, 60, 50, 
                     110, 100, 130, 170}
          x = 110;
Output : 6
Element x is present at index 6

Input : arr[] = {10, 20, 80, 30, 60, 50, 
                     110, 100, 130, 170}
           x = 175;
Output : -1
Element x is not present in arr[].

Простым подходом является линейный поиск , т.е.

  • Начните с самого левого элемента arr [] и сравнивайте один за другим x с каждым элементом arr []
  • Если x соответствует элементу, вернуть индекс.
  • Если x не совпадает ни с одним из элементов, вернуть -1.


Пример:

# Поиск элемента в списке / массиве в python
# можно просто сделать с помощью оператора / 'in /'
# Пример:
# если х в обр:
# print arr.index (x)

  
# Если вы хотите реализовать линейный поиск в Python

  
# Линейный поиск x в arr []
# Если x присутствует, вернуть его местоположение
# еще вернуть -1

  

def search(arr, x):

  

    for i in range(len(arr)):

  

        if arr[i] == x:

            return i

  

    return -1

Временная сложность вышеприведенного алгоритма составляет O (n).

Пожалуйста, обратитесь к полной статье о линейном поиске для более подробной информации!

Рекомендуемые посты:

Программа Python для линейного поиска

0.00 (0%) 0 votes