Implementar uma árvore AVL, para armazenar registros contendo chave e nome.

Softwares e sistemas

  • Status do projeto

    Concluído
  • Interessado

    1
  • Postado em

  • Localização

    Itajubá, Minas Gerais, BR
  • O projeto deve ser concluído no local
  • Orçamento

    Em consulta
  • Depósito pago

    R$ 0,00
  • Bônus total por indicação

    R$ 0,00
  • Na contratação

    R$ 0,00
  • postado por

    THIAGO GEOVANE

Descrição do Projeto

Trabalho Prático - AVL
Nesse trabalho você deverá implementar uma árvore AVL, para armazenar registros
contendo chave e nome. Você deverá implementar as seguintes operações: inserção,
remoção, consulta por chave e impressão in-order (de chave), além de uma operação que
verifica o balanceamento da árvore.
Seu programa deve ler da entrada padrão do sistema os comandos, e deverá imprimir
apenas na operação de consulta, impressão e verificação. Suponha então que o usuário
queira inserir 2 registros, Joao e Maria que tem chaves 7 e 3 respectivamente, ele irá
digitar:

i 7 Joao
i 3 Maria

Suponha que o usuário queira então consultar pela chave 4:

c 4

Como nesse exemplo não temos um registro com a chave 4, seu programa não imprime
nada, se a consulta for feita pela chave 3 por exemplo, seu programa deve imprimir:

3 Maria

Para a impressão in-order o usuário digitará:

p

E nesse exemplo o programa vai imprimir:

3 Maria
7 Joao

Para remover o registro 3 o usuário digitará:

r 3

A qualquer momento o usuário pode digitar o comando de verificação, e você deverá
verificar se em todos os nós o fator de balanceamento é -1, 0 ou 1. E seu programa
imprimirá SIM se tiver e NAO caso contrário. Por exemplo o usuário digita:

v

E depois de uma verificação, seu programa deve imprimir:

SIM
Por fim o comando ‘x’ encerra o programa. Um exemplo completo de entrada seria:

i 10 Pedro
i 11 Abel
i 5 Bob
c 6
c 11
v
r 10
v
p
x

E a saída esperada para essa entrada seria:

11 Abel
SIM
SIM
5 Bob
11 Abel

Freelancers interessados

    {{ item.displayName }} {{ item.displayName }}

    {{ item.displayDisciplines }}

    • {{ item.hourlyRate || '-' }} por hora
    • {{ item.cityName }}
      {{ item.stateName }}, {{ item.countryName }}
    • {{ item.nrSharedConnections }} conexões compartilhadas

Nenhum freelancer interessado ainda

Operação falhou!
Por favor, tente novamente mais tarde. Se o problema persistir entre em contato com o suporte.