Персистентный стек — различия между версиями
Yurik (обсуждение | вклад) |
Yurik (обсуждение | вклад) |
||
Строка 4: | Строка 4: | ||
Рассмотрим такую структуру на примере стека. | Рассмотрим такую структуру на примере стека. | ||
+ | |||
== Наивная реализация == | == Наивная реализация == | ||
+ | |||
+ | Самое простое и очевидное решение этой задачи — симуляция описанного процесса, т.е. честное копирование стека при каждой операции. <br> | ||
+ | Очевидно, что это не самое эффективное решение. Сложность одной операции составляет <tex>O(n)</tex> и количество требуемой памяти — <tex>O(n * n)</tex>. | ||
== Нормальная реализация == | == Нормальная реализация == | ||
+ | Итак | ||
+ | |||
+ | == См. также== | ||
+ | |||
+ | * [[Стек]] | ||
== Ссылки == | == Ссылки == |
Версия 18:59, 28 февраля 2012
Определение: |
Персистентными структурами данных мы будем называть такие структуры, что при всяком их изменении остается доступ ко всем предыдущим версиям этой структуры. |
Рассмотрим такую структуру на примере стека.
Наивная реализация
Самое простое и очевидное решение этой задачи — симуляция описанного процесса, т.е. честное копирование стека при каждой операции.
Очевидно, что это не самое эффективное решение. Сложность одной операции составляет и количество требуемой памяти — .
Нормальная реализация
Итак