-
Пузырьковая сортировка
Этот метод является одним из возможных вариантов сортировки обменом. Сортировка обменом заключается в том, что сначала просматривается весь массив в поисках максимального значения. Этот элемент перемещается в конец массива. Затем происходит поиск с начала массива до отсортированной части, и максимальный элемент снова перемещается в отсортированную часть массива. Пузырьковая сортировка основана на сравнении двух соседних элементов.…
-
Сортировка вставками
Этот вид сортировки заключается в следущем. Делим массив на две части: слева отсортированная часть, где изначально находится один элемент, и справа — неотсортированная. Проходим в цикле элементы неотсортированной части и ищем место для очередного элемента путем сравнения его с предыдущим. Если текущий элемент меньше — сдвигаем элементы вправо, и так, пока не найдем место для…
-
Сортировка выбором
Это наиболее простой и очевидный способ сортировки. Выбирается минимальный элемент массива, затем он меняется местами с первым элементом. Теперь массив состоит из двух частей: отсортированной, в которой на данный момент один элемент, и неотсортированной, содержащей все остальные элементы. Далее описанные шаги повторяются для неотсортированной части массива, в результате чего отсортированная часть массива увеличивается. а неотсортированная…
-
Бинарный поиск
Этот вид поиска применим только к отсортированным массивам. Его идея заключается в том, что сначала выбирается элемент в середине массива. Поскольку массив отсортирован, то если искомый элемент больше выбранного, то поиск далее продолжается только в правой части массива. Соответственно, если искомый элемент меньше, просматривается только левая половина массива. Ну если средний элемент является искомым, то…
-
Поиск с барьером
Разновидностью линейного поиска является поиск с барьером, который заключается в том, что в конец исследуемого массива добавляется искомый элемент. Выигрыша в сложности алгоритма этот метод не дает, она также составляет O(N). Он позволяет избавиться от условия проверки достижения искомого элемента в цикле. Однако недостаток метода заключается в необходимости увеличивать пазмер массива на один элемент. Это…
-
Линейный поиск
Этот вид поиска является самым простым и заключается в последовательном просмотре элементов массива, пока не будет найден искомый элемент. В случае отсутствия искомого элемента метод возвращает некоторое фиксированное значение, например, -1 или false. В худшем случае придется просмотреть все элементы массива, таким образом, его асимптотическая сложность составляет O(N). Далее представлен алгоритм линейного поиска на разных…