Vi posto in versione provabile un programma ricorsivo che ho trovato su un sito, secondo voi è una giusta ricorsione? Ho messo 2 System.out.println commentati, se le decommentate vedete i numeri di confronti che fa, e i numeri prossimi che si confrontano..si fa cosi??
codice:
class Ricorsione{
public static void main(String[] args){
int[] a = {90,50,6,9,5,2,80,90,6,7,5,4};
System.out.println( minRic(a,0,a.length-1) );
}
public static int minRic(int a [ ], int from, int to)
{
if (from == to)
return a[from];
int mid = (from + to)/2;
// cerchiamo ricorsivamente il minimo
// nella prima e nella seconda metà dell'array:
int min1 = minRic(a, from, mid);
//System.out.println(min1);
int min2 = minRic(a, mid+1, to);
//System.out.println(min1);
if (min1 <= min2)
return min1;
else
return min2;
}
}
p.s: deve trovare il minimo...allora tanto vale che lo scorre tutto l'array per fare cosi o sbaglio?