Sobre a subárvore de uma árvore completa/heap binário

Árvore completa

Se você já sabe o que é um heap, basta considerar que estou falando apenas
dos índices do heap binário no vetor (começando em \(1\)), ignorando completamente
os valores.

Para quem não sabe o que é Heap, considere uma árvore binária completa
em que os valores dos nós são preenchidos seqüencialmente com uma busca
em largura que explora primeiro o nó da esquerda. Para explicar com um desenho:

         1
       /   \
      2     3
     / \   / \
    4   5 6   7
   / \
  8   9

Observe que, dado um valor \(v\) (\(2\) por exemplo), podemos encontrar o valor
do filho esquerdo fazendo \(2v\) (\(2\times 2 = 4\) por exemplo), \(2v + 1\) para
o da direita (\(2\times 2 + 1 = 5\) por exemplo), e também podemos encontrar
o pai fazendo \(\lfloor v/2 \rfloor\).

Uma árvore binária completa é uma árvore em que todos os níveis estão
completamente preenchidos, exceto possivelmente pelo último, que deve ser
preenchido da esquerda para a direita (o exemplo é uma árvore completa, se
retirarmos o \(9\) ou o \(8\) e o \(9\), continua sendo, mas se retirarmos apenas
o \(8\) ou apenas o \(7\), não é mais uma árvore completa).


Questões

Ao responder a pergunta "Por que a inserção no heap ocorre de baixo para
cima?"
, surgiu a dúvida: além do pai e dos filhos de um nó \(v\), o que
mais podemos descobrir sem precisar percorrer a árvore? Não tentei nada,
mas achei que seria interessante levantar esse questionamento aqui.

Seja \(n\) o número de nós de uma árvore completa e \(r\) um nó. Considere
a subárvore com raiz \(r\).

Algumas perguntas:

  • Como determinar se a subárvore com raiz \(r\) está completamente preenchida?
  • Qual a altura da subárvore com raiz \(r\)?
  • Como calcular o número de nós da subárvore com raiz \(r\)?
  • Qual a distância da raiz (nó \(1\)) até \(r\)?
  • Qual a distância de \(r\) até um nó \(v\) que faz parte da subárvore com raiz \(r\)?
  • Qual a distância entre dois nós \(u\) e \(v\)?

O interesse principal é na primeira pergunta, que foi o que faltou na minha
resposta sobre inserção em heap.

Add Done
    about 1 year ago André Lima said:

    No trecho "Seja n o número de nós de uma árvore balanceada (...)", onde se lê balanceada não deveria ser completa?

    about 1 year ago Davi M. J. Barbosa said:

    Sim, corrigido.

    Please sign in to answer question.

    Search results:
    Sobre a subárvore de uma árvore completa/heap binário - Umamao ...

    umamao.com/questions/Sobre-a-subárvore-de-uma-árvore-completa...

    Árvore completa Se você já sabe o que é um heap, basta considerar que estou falando apenas dos índices do heap binário no vetor (começando em \(1\)), ignorando ...

    Estrutura de dados - Umamao - Find Together

    umamao.com/topics/Estrutura-de-dados

    "Gustavo Sacomoto"'s answer to "Sobre a subárvore de uma árvore completa/heap binário" - Umamao - …

    Estruturas de dados: árvores binárias - Instituto de Matemática ...

    www.ime.usp.br/~pf/algoritmos/aulas/bint.html

    Se x tiver um pai, essa árvore é uma subárvore de alguma ... Veja também a seção sobre ... uma função que transforme uma árvore binária quase completa em heap.

    Árvores - Páginas Pessoais - Funcionários do NCE-UFRJ

    equipe.nce.ufrj.br/adriano/c/apostila/arvore.htm

    ... de um ramo na árvore indica uma subárvore ... Uma árvore completa é aquela em se n é um nó com algumas de ... uma árvore e os resultados dos dois tipos de rotação sobre ...

    Árvore binária - Scribd

    www.scribd.com/doc/33109457/Arvore-binaria

    ... árvore T então Tn indica uma subárvore de ... Uma árvore completa é aquela em se n é um nó com algumas de ... uma árvore e os resultados dos dois tipos de rotação sobre ...

    Search results provided by Bing | Keep searching on Bing / Google