

























































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Alberi Binari di Ricerca Progettazione e Inizializzazion Esempi Funzioni con Alberi Binari di Ricerca Alberi binari con etichette complesse
Tipologia: Dispense
1 / 65
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!


























































http://mlpi.ing.unipi.it/alfeo
Sommario Alberi Binari di Ricerca Progettazione e Inizializzazione Esempi Funzioni con Alberi Binari di Ricerca Alberi binari con etichette complesse Esercizi
Alberi Binari 7 7 10 5 9 11 6 8 70
binTree struct Node { int value; Node * left; Node * right; Node(int val): value(val) , left(NULL) , right(NULL) {} };
N.B. = inizializzare i puntatori a NULL
binTree struct Node { int value; Node * left; Node * right; Node(int val): value(val) , left(NULL) , right(NULL) {} }; class BinTree { Node * root_; public: BinTree() { root_ = NULL; } Node * getRoot() { return root_; } }
N.B. = inizializzare i puntatori a NULL
Insert void insert( int val ) { // inizializzo nuovo elemento // inizializzo variabili appoggio }
Insert void insert( int val ) { // inizializzo nuovo elemento // inizializzo variabili appoggio // finchè non arrivo ad una foglia { // aggiorno variabili // se <= // vado a sinistra // altrimenti // vado a destra } }
Esempio: trova Min e Max
Min & Max
Esempio: visita l’albero
In-Order void inOrder( Node * tree ) { // se l’albero non e’ terminato { } }
In-Order void inOrder( Node * tree ) { // se l’albero non e’ terminato { // visito verso left // stampo questo valore // visito verso right } }