Class ArvoreAVL<K,V>

java.lang.Object
br.unip.aps.estruturas.ArvoreAVL<K,V>

public final class ArvoreAVL<K,V> extends Object
Arvore AVL (Adelson-Velsky e Landis, 1962): arvore binaria de busca balanceada por rotacoes.
  • Constructor Details

  • Method Details

    • setOuvinte

      public void setOuvinte(ArvoreAVL.Ouvinte<K> ouvinte)
    • inserir

      public void inserir(K chave, V valor)
    • remover

      public boolean remover(K chave)
      Remove a chave e todos os seus valores.
    • buscar

      public List<V> buscar(K chave)
      Valores associados a chave (lista vazia se ausente).
    • intervalo

      public void intervalo(K de, K ate, Consumer<? super V> destino)
      Visita em ordem crescente os valores com chave em [de, ate], podando subarvores fora do intervalo.
    • emOrdem

      public void emOrdem(BiConsumer<? super K,List<V>> visita)
      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

      public ArvoreAVL.No<K,V> raiz()
    • altura

      public int altura()
    • nos

      public int nos()
    • valores

      public long valores()
    • rotacoesSimples

      public long rotacoesSimples()
    • rotacoesDuplas

      public long rotacoesDuplas()
    • contador

      public OperationCounter contador()