Interfaces:

Pilha:
Stack(): cria e devolve uma pilha vazia
Push(p,x): empilha x na pilha p
Pop(p): desempilha um elemento de p
Size(p): número de elemento em p
Top(p): elemento do topo de p
Kth(p,k): k-ésimo elemento de p, onde o topo é o último elemento de p
Print(p): imprime todos os elementos da pilha p
Fila:
Queue(): cria e devolve uma fila vazia
Enqueue(q,x): insere x no fim da fila q
Dequeue(q): remove o primeiro da fila q
Size(q): número de elementos na fila q
First(q): primeiro elemento de q
Kth(q,k): k-ésimo elemento de q
Print(q): imprime todos os elementos da fila q
Deque:
Deque(): cria e devolve uma deque vazia
Front(d): devolve o elemento no extremo front de d
Back(d): devolve o elemento no extremo back de d
PushFront(d,x): insere x no extremo front de d
PushBack(d,x): insere x no extremo back de d
PopFront(d): remove o elemento no extremo front de d
PopBack(d): remove o elemento no extremo back de d
Kth(d,k): k-ésimo elemento de d, onde o front é o primeiro elemento de d
Print(d): imprime todos os elementos da deque d
ABB:
BST(): cria e devolve uma BST vazia
Insert(r,x): insere x na BST com raiz r
Delete(r,x): remove x da BST com raiz r
Search(r,x): true se x está na BST com raiz r e false caso contrário
Min(r): menor chave presente na BST com raiz r
Print(r): imprime todos os elementos na BST com raiz r
Fila de prioridades:
Heap(): cria e devolve um heap vazio
Insert(h, k): insere a chave k no heap h
Min(h): menor chave presente em h
DeleteMin(h): remove a menor chave presente em h
Print(h): imprime todos os elementos no heap h
Árvore de segmentos estática:
AS(S): cria uma árvore de segmentos para o conjunto S de intervalos
Segments(r,x): devolve uma lista com os segmentos na AS r que contém x
Árvore de segmentos dinâmica:
AS(): cria e devolve uma AS dinâmica vazia
Segments(r,x): devolve uma lista com os segmentos na AS dinâmica r que contém x
Insert(r,s): insere na AS dinâmica r o intervalo s
Árvore splay:
ST(): cria e devolve uma splay tree vazia
Insert(r,x): insere x na ST com raiz r
Delete(r,x): remove x da ST com raiz r
Search(r,x): true se x está na ST com raiz r e false caso contrário
Min(r): menor chave presente na ST com raiz r
Print(r): imprime todos os elementos na ST com raiz r
Treap:
Treap(): cria e devolve uma treap vazia
Insert(r,x): insere x na treap com raiz r
Delete(r,x): remove x da treap com raiz r
Search(r,x): true se x está na treap com raiz r e false caso contrário
Min(r): menor chave presente na treap com raiz r
Print(r): imprime todos os elementos na treap com raiz r
Grafos dinâmicos:
Graph(n): cria e devolve um grafo com n vértices e nenhuma aresta
Insert(u,v): insere a aresta uv no grafo e devolve seu identificador
Delete(uv): remove a aresta com identificador uv
Connected(u,v): true se u e v estão na mesma componente do grafo e false caso contrário
Print(): imprime todas as arestas do grafo
Árvore de sufixos:
AS(T): cria e devolve a árvore de sufixos para o texto T
Search(P): true se P ocorre no texto T e false caso contrário
NOccurrences(P): número de ocorrências de P em T
Occurrences(P): lista de posição em que P aparece em T
Print(): imprime em inordem a árvore de sufixos, com os índices dos rótulos de cada aresta
Vetor de sufixos:
VS(T): cria e devolve o vetor de sufixos e dos lcps para o texto T
Search(P): true se P ocorre no texto T e false caso contrário
NOccurrences(P): número de ocorrências de P em T
Occurrences(P): lista de posição em que P aparece em T
Print(): imprime o vetor de suxifos e o vetor dos lcps 
Função rank1:
Preprocess(s): cria e devolve a ED a ser usada pela função rank1 para a string binária s
Rank1(i): número de 1's na string s[1..i]
Print(): imprime, de um modo legível, as EDs criadas no pré-processamento