1. Escrever um procedimento para inserção em árvore AVL (naturalmente isso inclui a rotação simples e a dupla), e outro para impressão dos filhos à esquerda e à direita de um dado nó.
IMPORTANTE:
A função de inserção
deve ser da ordem de (log n) no pior caso!!!
Observe que há diversos casos de inserção que
não requerem rotação.
No caso de ser necessário
fazer rotação, há quatro situações
diferentes para considerar:
Se A é o nó crítico, B é o seu filho
à esquerda e C seu filho à direita, então:
Esse programa deve ter dois módulos:
- Um para identificar qual o comprimento e onde se localiza o maior
caminho, e
- Outro para fazer a impressão do caminho.
IMPORTANTE:
O seu programa só deve visitar cada nó
da árvore a partir do pai no máximo duas vezes, uma para
cada um dos módulos acima.
Assim, as informações devem ser ``carregadas''
enquanto estão disponíveis, obedecendo ao fluxo da
informação.
[Última alteração em 21.março.2000 por
katia.]