Laboratorio di Programmazione

Esercizi sull'Uso della Ricorsione in Java


Esercizio 1: Fattoriale e Sequenza di Fibonacci.

Scrivere la classe Successione che implementi due metodi statici fact e fib che preso un intero in input ritornino il fattoriale o il numero di fibonacci corrispondente. L'implementazione, ricorsiva, dei due metodi è già stata vista e discussa a lezione.

Esercizio 2: Ricerca Binaria Ricorsiva.

Considerare la ricerca binaria su un array vista a lezione un po' di mesi fa.

Scrivere la classe ArrayUtils che implementi un metodo statico RecursiveBinarySearch che riceva un array ordinato ed un valore e che implementi la ricerca del valore nell'array sfruttando un algoritmo ricorsivo.

Esercizio 3: MergeSort.

Considerare la classe dell'esercizio precedente ArrayUtils ed aggiungere un metodo statico mergeSort che riceve un array e lo ordina secondo il seguente algoritmo: 1. se l'array ha lunghezza 0 o 1 ritorna l'array stesso 2. se l'array ha lunghezza 2 ritorna l'array ordinato 3. se l'array ha lunghezza n>2 invoca il metodo mergeSort sull'array composto dagli elementi 0, .., n/2 e sull'array composto dagli elementi n/2+1, .., n-1. al ritorno fonde i due mezzi array mantenendo l'ordine.

Walter Cazzola

Didactics

Publications

Funded Projects

Research Projects

Related Events








Valid XHTML 1.0 Transitional