Можешь привести примеры алгоритмов с различной временной и пространственной сложностью?
Answer from AI
sobes.tech AI
Вот примеры алгоритмов с разной временной и пространственной сложностью:
-
O(1) — Константная сложность: доступ к элементу массива по индексу.
-
O(n) — Линейная сложность: поиск элемента в неотсортированном списке.
-
O(n²) — Квадратичная сложность: сортировка пузырьком (Bubble Sort).
-
O(log n) — Логарифмическая сложность: бинарный поиск в отсортированном массиве.
-
O(n log n) — Линейно-логарифмическая сложность: быстрая сортировка (Quick Sort).
Пример по пространственной сложности:
-
O(1): алгоритм, использующий фиксированное количество дополнительной памяти, например, инверсия массива на месте.
-
O(n): алгоритм, создающий копию массива или дополнительную структуру данных пропорционально входу.
Пример на Python — бинарный поиск (O(log n)):
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1