Изменения

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

Персистентный массив

48 байт убрано, 17:31, 8 октября 2017
Интерфейс
Мы называем структуру данных (как реализацию абстрактного типа данных англ.ATD) полностью персистентной, если она эффективно реализует все операции предполагаемого, полностью персистентного ADT.}}
===Интерфейс===
<code style = "display: inline-block;">
* [X] статический конструктор, который принимает элемент X и возвращает массив, который содержит X в качестве его единственного элемента.
* '''LENGTH''' [A] возвращает длину массива A.
* '''TAIL'''(''A'',''i'') принимает на вход массив ''A'' = ["a"<sub>0</sub>,...,an−1] и производный int, возвращает массив [''amax(''i'',0)'' ,...,''a''n−1]. Если ''i'' ≥ ''n'', результатом будет [].
* '''B''' - структура, то ''seq (''B'')'' обозначает строку, которая представлена ''B''.
 
Основываясь на вышеприведенных операциях, ADT может быть расширен следующими операциями:
* '''LEFTPART'''(A): возвращает (non-deterministically) массив, представляющий последовательность префикса A.
* ''' RIGHTPART'''(A): возвращает (non-deterministically) массив, представляющий последовательность суффикса A.
</code>
===Реализация персистентных массивом в виде сбалансированных деревьев===
288
правок

Навигация