Package br.unip.aps.estruturas
Class ArvoreAVL<K,V>
java.lang.Object
br.unip.aps.estruturas.ArvoreAVL<K,V>
Arvore AVL (Adelson-Velsky e Landis, 1962): arvore binaria de busca balanceada por rotacoes.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classNo da arvore; chaves repetidas acumulam valores no mesmo no.static interfaceRecebe cada rotacao realizada (para a animacao da arvore). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintaltura()Valores associados a chave (lista vazia se ausente).contador()voidemOrdem(BiConsumer<? super K, List<V>> visita) Percurso em ordem (chaves crescentes).voidvoidVisita em ordem crescente os valores com chave em [de, ate], podando subarvores fora do intervalo.intnos()raiz()booleanRemove a chave e todos os seus valores.longlongvoidsetOuvinte(ArvoreAVL.Ouvinte<K> ouvinte) booleanvalida()Verifica as invariantes: ordem de busca e |fator de balanceamento| <= 1 em todos os nos.longvalores()
-
Constructor Details
-
ArvoreAVL
-
-
Method Details
-
setOuvinte
-
inserir
-
remover
Remove a chave e todos os seus valores. -
buscar
Valores associados a chave (lista vazia se ausente). -
intervalo
Visita em ordem crescente os valores com chave em [de, ate], podando subarvores fora do intervalo. -
emOrdem
Percurso em ordem (chaves crescentes). -
valida
public boolean valida()Verifica as invariantes: ordem de busca e |fator de balanceamento| <= 1 em todos os nos. -
raiz
-
altura
public int altura() -
nos
public int nos() -
valores
public long valores() -
rotacoesSimples
public long rotacoesSimples() -
rotacoesDuplas
public long rotacoesDuplas() -
contador
-