Минимум и максимум в массиве
Минимум и максимум в массиве — это соответственно его наименьший и наибольший элементы. Их можно найти за один перебор массива, последовательно обновляя два значения: текущий минимум и текущий максимум.
Как выполняется поиск
Сначала минимум и максимум принимают равными первому элементу массива. Затем перебирают остальные элементы. Если очередной элемент меньше текущего минимума, минимум заменяют; если он больше текущего максимума, заменяют максимум. После завершения прохода получены искомые значения.
Для массива из \(n\) элементов выполняется не более \(2(n-1)\) сравнений: каждое значение проверяется отдельно на меньшее и большее. Поэтому время работы алгоритма — \(O(n)\), а дополнительная память — \(O(1)\).
Для массива \([7, 3, 9, 2, 5]\) в начале берём \(min=7\) и \(max=7\). После сравнения с 3 получаем \(min=3\), затем с 9 — \(max=9\), с 2 — \(min=2\). Число 5 ничего не меняет. Ответ: минимум \(2\), максимум \(9\).
Для поиска минимума и максимума сортировка массива не нужна: она требует больше действий и изменяет порядок элементов. Также нельзя начинать минимум и максимум с нуля, если в массиве могут быть только положительные или только отрицательные числа.
Как найти минимум и максимум массива \([-4, 2, -1]\) без сортировки?
Главное
- Минимум — наименьший, максимум — наибольший элемент массива.
- Начинайте с первого элемента и обновляйте значения при одном проходе.
- Алгоритм работает за \(O(n)\) времени и использует \(O(1)\) дополнительной памяти.