|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 453
|
[c++]generare albero binario conoscendo numero di foglie o altezza stabilita
Ciao,
vorrei realizzare una funzione che mi generi un albero binario. Vorrei realizzarlo in modo che la generazione avvenga o conoscendo il numero di foglie oppure l'altezza dell'albero.Quale è piu abbordabile? La seconda vero? Ad esempio dato il numero x la funzione mi deve creare un albero binario di altezza x. I nodi possono contenere come informazione anche solo numeri. Chi mi puo aiutare? Grazie. Ultima modifica di pmhwp : 05-03-2008 alle 02:02. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
In generale, il numero di foglie e l'altezza di un albero binario non sono direttamente correlati (se non per la limitazione sul numero massimo di foglie presenti in funzione dell'altezza), ergo devi decidere tu quale criterio scegliere per la generazione dell'albero, in base alle tue esigenze.
Per l'implementazione di un albero utilizzando gli array, puoi vedere qui, anche se ti consiglio una struttura a puntatori, decisamente più elegante dal mio punto di vista
__________________
Il sole è giallo |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 82
|
come dice yorkeiser dall'altezza o dal numero di foglie non è possibile derivare la struttura di un albero binario a meno che non si suppone che l'albero sia completo
con questa ipotesi i due dati sono assolutamente equivalenti: -data un altezza n l'albero ha 2^n foglie -date n foglie l'albero ha logn livelli se poi il problema è invece quale struttura dati conviene usare la risposta è un definitivo dipende. una delle soluzioni più semplici (con quindi tutti gli svantaggi/vantaggi derivanti dalla semplicità stessa) è usare uno (o più) array ![]() in alternativa per ridurre l'overhead e rendere più efficienti le operazioni di ricerca, aggiornamento/cancellazione/inserimento di valori puoi creare un sistema di oggetti.
__________________
Saigon, shit. I'm still only in Saigon. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 453
|
Spiego meglio,
avete presente i tabelloni di una gara fatti ad albero? La mia idea era quella di creare un albero binario con alle foglie le prime gare.Il vincitore passa quindi al nodo padre e via via fino ad arrivare alla radice... Quindi facendo le accoppiate in base ai partecipanti creavo un albero binario di altezza x e dopodiche nelle foglie inserivo i partecipanti... E' realizzabile una cosa del genere?Ha un senso utilizzare un albero binario? Grazie ancora. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:31.




















