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??![]()
p.s: deve trovare il minimo...allora tanto vale che lo scorre tutto l'array per fare cosi o sbaglio?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; } }

Rispondi quotando

