Линейный (последовательный) поиск - алгоритм нахождения заданного элемента в массиве. Данный алгоритм является простейшим алгоритмом поиска и, в отличие, например, от двоичного поиска, не накладывает никаких ограничений на исходный массив и имеет простейшую реализацию. Поиск нужного элемента осуществляется простым сравнением очередного рассматриваемого значения (как правило, поиск происходит слева направо, то есть от меньших значений аргумента к большим) и, если значения совпадают, то поиск считается завершённым.

Описание алгоритма

Алгоритм линейного поиска состоит из трех частей

  • начать с левой границы рассматриваемого массива и элемент за элементом сравнивать с искомым элементом;
  • если совпадение найдено вернуть индекс элемента;
  • если совпадений не найдено вернуть -1.

Визуализация работы алгоритма

Реализация алгоритма ня языке C#

int LinearSearch(int[] arr, int x)
{
  for (int i = 0; i < a.Length; i++)
  {
   if (arr[i] == x)
     return i;
  }
  return -1;
}

Характеристики алгоритма

Класс алгоритма Алгоритм поиска
Структура данных массив, связный список
Худший случай $$\mathcal{O}(n)$$
Лучший случай $$\mathcal{O}(1)$$
Средний случай $$\mathcal{O}(n)$$
Затраты на память $$\mathcal{O}(1)$$

results matching ""

    No results matching ""