Crie uma função recursiva que retorne uma estrutura em árvore do seguinte objeto:
E quais são os problemas?
eu esqueci como organizar em arvore sem ser arvore binaria.
Eu lembro que tinha que calcular a profundidade… Procurei na internet mas n achei muitas respostas e agora estou aqui no guj.
Queria uma ajuda para fazer oq exercicio esta pedindo. Pode ser em visual basic, C ou JAVA
Dê uma olhada nos padrões Composite e Visitor.
cara ja olhei. acho q estou com problemas de interpretações de texto. Eu sei programa em java mas eu nao estou entendo como resolver esse problema. Se voce puder me ajudar… sem ficar dizendo o que estudar pq eu ja estou fazendo…
cara algo interessante em C seria voce utilizar o struct Nome{ /*Campos : Codigo\ Nome\ Nivel*/ }, assim voce pode retornar um estrutura de dados semelhante a uma arvore, porém os campos voce é quem define.
cara eu acho que é assim, tem o No(container) que tem uma lista para os Nós(folhas e ou galhos) e guarda seu objeto em si, no exemplo usei string, mas pode ser qualquer objeto, o importante é a estrutura :
[code]public class No {
String texto;
ArrayList<No> nos = new ArrayList<No>();
public No(String texto) {
this.texto = texto;
}
public No addChild(No no) {
nos.add(no);
return no;
}
public ArrayList<No> getChilds() {
return nos;
}
public void removeChild(int i) {
nos.remove(i);
}
public No getChild(int i) {
return nos.get(i);
}
public void imprimirFilhos(){
for(No filho : this.getChilds()){
System.out.println(filho.texto);
filho.imprimirFilhos();
}
}
}[/code]
[code]public static void main(String[] args) {
No arvore = new No(“Inicio”);
No A = arvore.addChild(new No("A"));
No filhoA = A.addChild(new No("filho de A"));
No segundofilhoA = A.addChild(new No("segundo filho de A"));
No filhofilhoA = filhoA.addChild(new No("filho do filho de A"));
arvore.imprimirFilhos();
}[/code]
ai você tem que ir adequando de acordo com sua necessidade.