Линейный поиск: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
Содержимое удалено Содержимое добавлено
РоманСузи (обсуждение | вклад) викификация, удалил сслыку на algolist (не нашел упоминания этого поиска там) |
Луговкин (обсуждение | вклад) Нет описания правки |
||
Строка 1:
{{викифицировать}}
'''Линейный, последовательный поиск''' — [[алгоритм]] нахождения заданного значения произвольной функции на некотором отрезке. Данный алгоритм является простейшим алгоритмом поиска и, в отличие, например, от [[двоичный поиск|двоичного поиска]], не накладывает никаких ограничений на функцию и имеет простейшую реализацию. Поиск значения функции осуществляется простым сравнением очередного рассматриваемого значения (как правило, поиск происходит слева направо, то есть от меньших значений аргумента к большим) и, если значения совпадают (с той или иной точностью), то поиск считается завершённым.
Если отрезок имеет длину N, то найти решение с точностью до <math>\epsilon</math> можно за время <math>N\over\epsilon</math>. Т.о. [[Сложность алгоритма|асимптотическая сложность алгоритма]] — <math>O(n)</math>. В связи с малой эффективностью по сравнению с другими алгоритмами линейный поиск обычно используют, только если отрезок поиска содержит очень мало элементов, тем не менее, линейный поиск не требует дополнительной памяти или обработки/анализа функции, так что может работать в потоковом режиме при непосредственном получении данных из любого источника.
В качестве примера можно рассмотреть поиск значения функции на множестве целых чисел, представленной таблично.
|