Встречается на собеседованиях • сегодня
Что такое алгоритмическая сложность
Алгоритмическая сложность (или временная сложность) — это оценка времени выполнения алгоритма в зависимости от размера входных данных. Обычно выражается в нотации "О-большое" (Big-O), которая показывает наихудший сценарий.
Основные виды сложности:
- O(1) — константное время (доступ к элементу массива)
- O(log n) — логарифмическое (бинарный поиск)
- O(n) — линейное (поиск в неотсортированном массиве)
- O(n log n) — (быстрая сортировка)
- O(n²) — квадратичное (пузырьковая сортировка)
Пример с поиском:
python
# O(n) — линейный поиск
def linear_search(arr, target):
for item in arr:
if item == target:
return True
return False
# 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 True
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return False
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы