[Java]Albero binario visita a livelli

di il
1 risposte

[Java]Albero binario visita a livelli

Ciao a tutti, ho un piccolo problema (per voi) di fare la visita su un albero binario, ho a disposizione anche un visitor ma non sono riuscito a visitare a livelli con questo.
Sono riuscito a sviluppare l'algoritmo per la visita solo che non riesco a stampare livello per livello staccati esempio
2--->lvl1
3 4--->lvl2
1 2 7 5-->lvl 3
e cosi via qesto è l'algortimo che ho tirato fuori:

LinkedList<Espressione> stak=new LinkedList<Espressione>();
        //mettiamo la root nella lista
        stak.addFirst(root);

        ArrayList<Espressione> visita=new ArrayList<Espressione>();
        while(!stak.isEmpty()){
            Espressione espressione=stak.removeFirst();
//    aggiungiamo o diciamo operazione sul nodo
            visita.add(espressione);
//finita l'operazioe
            if(espressione.getFiglioDestro()!=null){
                stak.addLast(espressione.getFiglioDestro());
            }
            if(espressione.getFiglioSinistro()!=null){
                stak.addLast(espressione.getFiglioSinistro());
            }
            
        }

adesso volevo sapere se qualcuno ha qualche consiglio su come fare la stampa che voglio fare io
grazie a tutti in anticipo

1 Risposte

  • Re: [Java]Albero binario visita a livelli

    Ciao potresti fare una cosetta simile a questa
     
     while(!stak.isEmpty()){
                Espressione espressione=stak.removeFirst();
    
    //    aggiungiamo o diciamo operazione sul nodo
                visita.add(espressione);
    System.out.println(espressione);
    
Devi accedere o registrarti per scrivere nel forum
1 risposte