Разница между линейным поиском и бинарным поиском
Содержание
Линейный поиск и бинарный поиск - это два метода, которые используются в массивах для поиск элементы. Поиск - это процесс поиска элемента в списке элементов, сохраненных в любом порядке или случайным образом.
Основное различие между линейным поиском и бинарным поиском состоит в том, что бинарный поиск занимает меньше времени для поиска элемента из отсортированного списка элементов. Таким образом, можно сделать вывод, что эффективность метода двоичного поиска выше, чем линейный поиск.
Другое различие между ними состоит в том, что для бинарного поиска существует предпосылка, то есть элементы должны быть отсортированный в то время как в линейном поиске такой предпосылки нет. Хотя оба метода поиска используют разные методы, которые обсуждаются ниже.
- Сравнительная таблица
- Определение
- Ключевые отличия
- Вывод
Сравнительная таблица
Основа для сравнения | Линейный поиск | Бинарный поиск |
---|---|---|
Сложность времени | НА) | O (журнал 2 N) |
Лучшее время дела | Первый Элемент O (1) | Центральный элемент O (1) |
Необходимое условие для массива | Не требуется | Массив должен быть в отсортированном порядке |
Худший случай для N числа элементов | Требуется N сравнений | Можно сделать вывод только после входа2 N сравнений |
Может быть реализовано на | Массив и связанный список | Не может быть непосредственно реализовано в связанном списке |
Вставить операцию | Легко вставляется в конец списка | Требуется обработка для вставки в нужном месте, чтобы поддерживать отсортированный список. |
Тип алгоритма | Итеративный характер | Разделяй и властвуй в природе |
Полезность | Прост в использовании и не требует каких-либо заказанных элементов. | В любом случае хитрый алгоритм и элементы должны быть организованы по порядку. |
Строки кода | Меньше | Больше |
Определение линейного поиска
При линейном поиске каждый элемент массива извлекается один за другим в логическом порядке и проверяется, является ли этот элемент нужным или нет. Поиск будет неудачным, если все элементы будут доступны, а нужный элемент не найден. В худшем случае, в среднем случае нам может понадобиться отсканировать половину размера массива (n / 2).
Поэтому линейный поиск может быть определен как метод, который последовательно проходит через массив для определения местоположения данного элемента. Приведенная ниже программа иллюстрирует поиск элемента массива с использованием поиска.
КПД линейного поиска
Потребление времени или количество сравнений, выполненных при поиске записи в таблице поиска, определяет эффективность метода. Если нужная запись присутствует в первой позиции таблицы поиска, выполняется только одно сравнение. Когда желаемая запись является последней, тогда нужно сделать n сравнений. Если запись должна присутствовать где-то в таблице поиска, в среднем количество сравнений будет (n + 1/2). Наихудший случай эффективности этого метода - O (n) обозначает порядок выполнения.
Программа C искать элемент с линейной техникой поиска.
#включают Бинарный поиск - чрезвычайно эффективный алгоритм. Этот метод поиска занимает меньше времени при поиске данного элемента при минимально возможных сравнениях. Чтобы выполнить бинарный поиск, сначала мы должны отсортировать элементы массива. Логика этой техники приведена ниже: Возможны три случая: Повторите те же шаги, пока элемент не будет найден или исчерпан в области поиска. В этом алгоритме каждый раз область поиска уменьшается. Поэтому число сравнений не более log (N + 1). В результате это эффективный алгоритм по сравнению с линейным поиском, но массив должен быть отсортирован перед выполнением двоичного поиска. Программа C найти элемент с помощью техники двоичного поиска. #включают В зависимости от приложения могут быть полезны как линейный, так и двоичный алгоритмы поиска. Если массив представляет собой структуру данных, а элементы расположены в отсортированном порядке, тогда двоичный поиск предпочтителен для быстропоиск. Если связанный список является структурой данных независимо от того, как элементы расположены, линейный поиск принимается из-за недоступности прямой реализации алгоритма двоичного поиска. Типичный алгоритм двоичного поиска не может быть использован для связанного списка, потому что связанный список является динамическим по своей природе, и неизвестно, где фактически назначен средний элемент. Следовательно, существует потребность в разработке варианта алгоритма бинарного поиска, который также может работать со связанным списком, поскольку бинарный поиск выполняется быстрее, чем линейный поиск.Определение бинарного поиска
Вывод