Estou aprendendo o TAD Arvore Binaria apos aprender pilha, fila, fila de prioridades e etc … agora com o TAD Arvore estou tendo algumas dificuldades … !
A classe vai bem ate agora e aparentemente funciona, entretanto nao faco a menor ideia de como exibir os elementos da Arvore na tela …
[quote=Odyo]Estou aprendendo o TAD Arvore Binaria apos aprender pilha, fila, fila de prioridades e etc … agora com o TAD Arvore estou tendo algumas dificuldades … !
A classe vai bem ate agora e aparentemente funciona, entretanto nao faco a menor ideia de como exibir os elementos da Arvore na tela …
alguma sugestao ? [/quote]
Eu sei que a resposta é meio genêrica, mas é que tbm não conheço a estrutura da sua árvore, mas normalmente para exibir os elementos na tela é necessário utilizar recursão.
Não sei se vai te ajudar muito, pq a estrutura da árvore com certeza é diferente, mas segue um código que eu estou usando pra fazer isso:
[code]
public String toString(int depth, StringBuffer buf) {
Suponho que os nós da sua árvore devam ter, basicamente, tres elementos:
-“Ponteiro” para o nó à esquerda (Chamemos de “left”)
-“Ponteiro” para o nó à direita (Chamemos de “right”)
-Valor do nó (Chamemos de “value”)
Para imprimir sua árvore você deverá realizar, em cada nó, no mínimo três ações, não necessariamente nesta ordem:
-Recuperar o value
-Visitar o left
-Visitar o right
A ordem em que você realiza estas três ações influencia na forma como são apresentados os dados armazenados na árvore. Se, por exemplo, você realizar as ações nesta ordem:
1)Visitar o left
2)Recuperar o value
3)Visitar o right
Você terá impresso os valores em ordem:
-Crescente, se os menores valores ficam à esquerda
-Decrescente, se os menores valores ficam à direita
Tente implementar essas idéias.
Quaquer coisa, poste mais.
Não é obrigatório utilizar recursividade para visitar os nós. É só ir descendo enquanto left E right forem ambos diferentes de null. Isso tbm vai depender da sequência que você quer utilizar (caminhamento pré-ordem, pós-ordem ou central).