Изменения

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

Персистентный стек

3 байта убрано, 15:31, 7 июня 2012
Нет описания правки
Попробуем решить задачу эффективнее. Заведем массив указателейзапросов, ссылающихся на каждую версию стекамодифицирующих стек.
Вместо n копий У каждого элемента массива будет 2 поля: значение в вершине стека и индекс предыдущей версии стека будем хранить n первых элементов.  Тогда операции push и pop будут иметь следующий вид:<br>* <tex>push(x, i)</tex> — создает новый элемент со значением x, который ссылается на добавляет элемент х к стеку с номером i как на предыдущий элемент в стеке, результирующий стек будет иметь номер n + 1.
* <tex>pop(i)</tex> — возвращает значение, хранящееся в элементе с номером i и копирует элемент, предыдущий для него.
Результирующие стеки будут результирующий стек будет иметь номер n + 1.
234
правки

Навигация