View Full Version : [C] Minimo in albero binario
Mr.Paschi!
08-06-2006, 17:06
int minimo(int min, Tree T)
{ if (T!=null)
{ min = minimo(min,T.leftchild);
if(min>T.element) min = T.element;
min = minimo(min,T.rightchild);
}
return min;
}
Questo algoritmo trova ricorsivamente il minimo in un albero binario?
Qualcuno mi saprebbe dare una soluzione (se esiste) a partire dalla signature
int minimo(Tree T) ?
secondo me devi solo cambiare ordine, la funzione minimo la devi chiamare ricorsivamente a sinistra e a destra e alla fine usare l'if sul nodo corrente:
int minimo(int min, Tree T) {
if (T != NULL) {
min = minimo(min, T.leftChild);
min = minimo(min, T.rightChild);
if (min > T.element) {
min = T.element;
}
}
return min;
}
secondo me devi solo cambiare ordine, la funzione minimo la devi chiamare ricorsivamente a sinistra e a destra e alla fine usare l'if sul nodo corrente:
int minimo(int min, Tree T) {
if (T != NULL) {
min = minimo(min, T.leftChild);
min = minimo(min, T.rightChild);
if (min < T.element) {
min = T.element;
}
}
return min;
}
Penso tu abbia invertito per sbaglio il segno sulla 5 riga. In ogni caso dubito faccia qualche differenza percorrere l'albero in ordine postfisso piuttosto che infisso.
Penso tu abbia invertito per sbaglio il segno sulla 5 riga. hai ragione scusa (corretto)
Mr.Paschi!
09-06-2006, 07:27
Si infatti nn fa differenza.. quindi mi confermate che è corretto giusto?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.