Company Logo
28.03.2026 / СБ
14:00-15:30
Открытая лекция
ПОМИ РАН

Succinct структуры, деревья и скобочные последовательности

Формально, succinct-структуры — это такие, которые используют o(N)\mathcal{o}(N) дополнительной памяти для обеспечения операций над множеством из NN бит. Неформально — это несколько способов хранения дерева размера NN за 2N+o(N)2N + \mathcal{o}(N) бит и использования этих o(N)\mathcal{o}(N) для навигации по деревьям, а иногда и для ответов на довольно сложные запросы.

Одно из подобных битовых представлений вы, с большой вероятностью, встречали: делаем обход в глубину, каждый раз, когда опускаемся, записываем «(», когда поднимаемся — «)». В результате мы должны получить правильную скобочную последовательность длины 2N22N-2. В целом, вот эти 2N2N бит, но что можно делать с таким представлением? Как оказывается, всё, что нам обычно нужно от дерева, можно получить с помощью небольших вспомогательных вычислений. А сами succinct-деревья очень даже практичны, особенно, когда число узлов переваливает за миллион.

Лекторы

avatar
Николай МальковскийПреподаватель