View Full Version : Albero binario
beppegrillo
20-01-2005, 18:44
Ragazzi ho un albero binario incompleto del tipo
10
11 12
2 3 1
Devo stamparlo in questa maniera
12
1
10
3
11
2
Il programma č in C, ma vabbene pure una semplice spiegazione o del pseduocodice.
thx.
RaouL_BennetH
21-01-2005, 11:15
Posso risponderti con una domanda?
Mi perdonerai la niubbaggine, ma cos'č un albero binario?!?
Frank1962
21-01-2005, 12:51
cerca su google......
:D :asd:
ps: nada c ....conosco solo un poco di java
beppegrillo
21-01-2005, 13:48
Originariamente inviato da RaouL_BennetH
Posso risponderti con una domanda?
Mi perdonerai la niubbaggine, ma cos'č un albero binario?!?
E' una struttura dati che viene utilizzata per alcuni algoritmi di ricerca ma non solo.
Diciamo che vi sono delle relazioni tra "nodi", che possono formare alberi binari, alberi ordinati , ecc. ecc.
Comunque ho risolto, tnx :)
un algoritmo ricorsivo del genere dovrebbe andare (lo "stampato" al volo, non l'ho provato e non ti assicuro che funzioni)
void stampa (link* l, int p) {
if (l==NULL) return;
stampa (l->dx,p++);
for (int i=0; i<p*S; i++) cout<<" ";
cout<<l->n;
stampa (l->sx,p++);
}
P.S: la variabile S č una variabile glibale (per il c) o un proprietą della classe di appartenenza del metodo stampa (C++)
ops, non avevo letto l'ultima riga del tuo post....:D :D :D :D :D ;)
beppegrillo
30-01-2005, 17:26
Originariamente inviato da cisc
un algoritmo ricorsivo del genere dovrebbe andare (lo "stampato" al volo, non l'ho provato e non ti assicuro che funzioni)
void stampa (link* l, int p) {
if (l==NULL) return;
stampa (l->dx,p++);
for (int i=0; i<p*S; i++) cout<<" ";
cout<<l->n;
stampa (l->sx,p++);
}
P.S: la variabile S č una variabile glibale (per il c) o un proprietą della classe di appartenenza del metodo stampa (C++)
Scusami se non ti ho risposto, lo faccio ora con notevole ritardo :D
La tua funzione č corretta, solo che anziche utilizzare il p++, bisogna utilizzare p+1, poichč non devi salvare il valore della variabile.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.