Algoritmo de Remoção em Arvore de Busca Binária

Ola a todos!!! Estou com uma duvida que não consigo resolver, estou desenvolvendo um pequeno programa, em java, para a disciplina de Estrutura de Dados II. Nesse programa é necessário realizar a remoção em uma Arvore de Busca Binária. Estou com dificuldades em resolver esse problema, será que alguem poderia em auxiliar???

A minha arvore esta funcionando corretamente, inserindo, buscando, imprimindo em pré ordem, pós ordem e em ordem, só falta a remoção mesmo!!!

Aguardo resposta!!!

Se não me engano uma arvore binária é uma espécie de lista ligada, e como tal, em uma deleção os ponteiros dos elementos que estão na extremidade do elemento excluido deverão apontar agora um para o outro.

É por ai sua duvida?

flws

A remoção em uma árvore binária é relativamente simples se for em uma árvore binária simples, e meio chatinha se for em uma árvore binária balanceada (tanto a AVL quanto a Red-Black, ou “rubro-negra”, são complicadas. A TreeMap do Java é uma árvore rubro-negra, ou flamenguista :slight_smile:

De qualquer maneira, dê uma olhadinha aqui (é uma árvore simples):

http://www.java-tips.org/java-se-tips/java.lang/binary-search-tree-implementation-in-java.html

Rá isso me cheira trabalho de facul XD

mais na propria WIKIpedia tem uns exemplos bem bons e tbm tem esse aplet bem legal

http://webpages.ull.es/users/jriera/Docencia/AVL/AVL%20tree%20applet.htm

é só desmarcar AVL que a árvore vira só uma arvore binária.

obs: [color=cyan]se vc copiar não vai entender como o treco realmete funciona implemente vc mesmo![/color]

É trabalho de faculdade sim, disciplina orientada! Eu entendi como funciona uma arvore ABB, o problema que estou tentado migra-la para Java, que por sua vez estou iniciando nessa linguagem agora, por isso a dificuldade de fazer o algoritmo!!!