Гибрид массива и списка

Алгоритмы: от сортировки пузырьком до численных методов

Модераторы: C_O_D_E, DeeJayC

Ответить
T42
Сообщения: 3
Зарегистрирован: 01 дек 2010, 20:35

01 дек 2010, 20:45

Вопрос по структурам данных. Кто нибудь знает или может быть видел где нибудь структуру, позволяющую реализовать массив элементов, с возможностью быстрой вставки (добавления) и удаления элемента в любом месте массива и с возможностью быстрого доступа по индексу за время О(log2(n)), или быстрее? Естественно, структура должна быть самобалансирующейся за такое же время или быстрее.
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

04 дек 2010, 17:37

Массив указателей не подходит?
T42
Сообщения: 3
Зарегистрирован: 01 дек 2010, 20:35

04 дек 2010, 18:24

Не подходит. Один из вариантов использовать двоичные деревья. Но их надо балансировать...
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

06 дек 2010, 11:09

и с возможностью быстрого доступа по индексу
Честно сказать, не представляю как к элементу дерева можно обратиться по индексу.
T42
Сообщения: 3
Зарегистрирован: 01 дек 2010, 20:35

06 дек 2010, 14:32

На самом деле все достаточно просто, нужна небольшая модификация - использовать динамические ключи вместо фиксированных. В статье про неявное декартовое дерево описан один из вариантов реализации подобной структуры (см. http://e-maxx.ru/algo/treap).
Ответить