Изменения

Перейти к: навигация, поиск

Дерево отрезков. Построение

Нет изменений в размере, 22:22, 26 апреля 2011
Нет описания правки
[[Файл:Segment_tree.jpg|right|400px380px|thumb|Пример дерева отрезков для вычисления сумм]]'''Дерево отрезков''' {{---}} это структура данных, которая позволяет эффективно (за асимптотику <tex>O(\log n))</tex> реализовать операции следующего вида: нахождение суммы (задача RSQ), минимума или максимума (задача RMQ) элементов массива в заданном отрезке (<tex>a[i...j]</tex>, где <tex>i</tex> и <tex>j</tex> поступают на вход алгоритма), при этом дополнительно возможно изменение элементов массива: как изменение значения одного элемента, так и изменение элементов на целом подотрезке массива (т.е. разрешается присвоить всем элементам <tex>a[i...j]</tex> какое-либо значение, либо прибавить ко всем элементам массива какое-либо число). Структура занимает <tex>O(n)</tex> памяти и выстраивается из массива за <tex>O(n)</tex>.
==Структура==
Анонимный участник

Навигация