ATE meia noite de 11/11
Dado a definição de um termo que representa uma arvore binária:
vazia ou arv(NO,AE,AD)
onde NO
é o valor armazenado na raiz, AE
é a arvore a esquerda e AD
é a arvore a direita.
Um arvore de busca binaria (abb) é uma arvore binária onde para todas as sub-árvores o valor armazenado na raiz é maior que todos os valores armazenados na subsub-árvore a esquerda e menor que todos os valores armazenados na subsub-arvore a direita.
Para este exercício a abb não precisa estar balanceada (ou seja não é um AVL ou uma arvore vermelha-negra, etc)
Implemente o predicado
removeabb(AV,Val,AN) modo ++-
onde AV
é a arvore velha, Val
é o valor a ser removido, e AN
é a arvore nova (que voce vai devolver).
Se Val
nao estiver na arvore, retorne em AN
a arvore original.
Lembre-se
não é preciso garantir o balanceamento da arvore.
remoção de uma folha é facil. Remoção de uma raiz, requer substituí-la por um valor apropriado (o maior do lado esquerdo ou o menor do lado direito)