• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jamirooo

árvores binárias e cenas dessas giras e fofas...[Resolvido]

5 mensagens neste tópico

Boas... tenho aqui um "pequeno" projecto de uma disciplina e a certa altura pedem-me que construa um método: " Iterator iterador() - fornece um iterador sobre a árvore, de modo a poder percorrer os caracteres da árvore, numa ordem infixa"...bem o que se passa é que tenho uma árvore e em cada nó está um caracter, e pelo que percebo este metodo é suposto percorrer cada no da arvore...o prof deu-nos uma classe "LinkedBinaryTree" e tal...que nos permite obter o tamanho da arvore, rightSubTree, leftSubTree, entre outras cenas...ja andei a bater nisto uma noite inteira  :wallbash:...mas nao consigo..se alguem pudesse dar um empurraozinho...ficaria muito grato :-[...agradeço desde já... :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Segundo percebi do que escreveste, o que esse método tem que retornar é simplesmente o filho mais à esquerda da árvore. Isto não sabendo absolutamente mais nada do que é pedido. Mas dá a ideia que a iteração será tratada por outro método...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Segundo percebi do que escreveste, o que esse método tem que retornar é simplesmente o filho mais à esquerda da árvore. Isto não sabendo absolutamente mais nada do que é pedido. Mas dá a ideia que a iteração será tratada por outro método...

Sim, depois terei outro metodo que colocará devolverá uma String em que terá parentesis antes de cada nó por exemplo uma arvore em que A é a raiz e B e C sao descendentes ficará por exemplo (A(B()C())) ... mas para fazer esse metodo de colocar os parentesis terei que ter este metodo iterador para percorrer a arvore...e tou aqui encravado que nao saio do mesmo sitio....  =/ 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Os nós têm referência para o pai? Se tiverem, o que esse método tem que fazer é percorrer todos os filhos esquerdos da árvore, e quando não houverem mais, retornar o "actual", que será o filho mais à esquerda.

Não é esse método que vai iterar pela árvore, ele só vai retornar o 1º nó do percurso infixo (o nó mais à esquerda) que depois permitirá percorrer a árvore toda por esse percurso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

acho que ja consegui, obrigado...o meu prob estava mesmo no codigo...  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora