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