Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Math: prefix, sum

Как изменяется асимптотическая сложность алгоритма при использовании частичной суммы?

Вопрос проверяет понимание влияния предварительных вычислений на общую сложность алгоритма.

Короткий ответ

Использование частичной суммы позволяет сократить время выполнения повторяющихся операций. Предварительное вычисление занимает O(n), а каждый запрос выполняется за O(1). В итоге общая сложность снижается по сравнению с наивными подходами.

Длинный ответ

Частичные суммы — универсальный приём оптимизации для диапазонных запросов.

Определение

Частичная сумма (prefix sum) — это массив, где каждый элемент хранит сумму всех предыдущих значений.

Как меняется сложность

  1. построение массива частичных сумм: O(n),

  2. получение суммы диапазона: O(1).

Пример

prefix[i] = prefix[i - 1] + data[i]

# сумма на отрезке [l, r]
segment_sum = prefix[r] - prefix[l - 1]

Сравнение с наивным подходом

  • без частичных сумм: O(k) на запрос,

  • с частичными суммами: O(1) на запрос.

Практическое применение

  • скользящие окна,

  • аналитические запросы,

  • задачи на диапазоны.

Вывод

Использование частичных сумм переводит повторяющиеся операции из линейной сложности в константную за счёт предварительных вычислений.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • Math

    Math

Ключевые слова

#prefix

#sum

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.