Встречается на собеседованиях • сегодня

Зачем нужна асимптотическая оценка сложности

Асимптотическая оценка сложности (Big-O нотация) помогает анализировать эффективность алгоритмов, оценивая их поведение при увеличении размера входных данных. Она позволяет:

  1. Сравнивать алгоритмы между собой
  2. Прогнозировать производительность на больших данных
  3. Выбирать оптимальное решение для конкретной задачи

Пример:

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(sorted_arr, target):
    low, high = 0, len(sorted_arr) - 1
    while low <= high:
        mid = (low + high) // 2
        if sorted_arr[mid] == target:
            return True
        elif sorted_arr[mid] < target:
            low = mid + 1
        else:
            high = mid - 1
    return False

На больших данных binary_search будет значительно быстрее, что видно из асимптотической оценки.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы