Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Definizione
procedura ricorsiva:
La ricorsione z all’interno della propria definizione
chiamata alla procedura stessa
(ricorsione diretta)
Paolo Camurati z chiamata ad almeno una procedura la
Dip. Automatica e Informatica quale, direttamente o indirettamente,
Politecnico di Torino chiama la procedura stessa (ricorsione
indiretta)
algoritmo ricorsivo: si basa su procedure
ricorsive.
A.A. 2008/09 La ricorsione 2
Motivazioni
1
APA I e II La ricorsione
FIB5
5! = 5 * 4! = 120
4! = 4 * 3! = 24
FIB3 FIB4
3! = 3 * 2! = 6
0! = 1
FIB0 FIB1
2
APA I e II La ricorsione
Complessità:
moltiplicazione per potenza di 10: shift a
Riduzione del numero di moltiplicazioni:
sinistra (costo unitario) (2 moltiplicazioni) xs*yd + xd*ys = xs*ys + xd*yd – (xs - xd)* (ys - yd)
somma di numeri su N cifre: costo lineare in
N (3 somme) 3 moltiplicazioni ricorsive, anziché 4
moltiplicazione: costo della ricorsione (4
moltiplicazioni)
3
APA I e II La ricorsione
Ricerca binaria
Fattoriale:
a c b
5! = 1*2*3*4*5 = 120 v 1 3 4 6 8 9 11 12 k 4
Fibonacci:
a c b
FIB0 = 0 v 1 3 4 6 8 9 11 12 y = elemento di mezzo
FIB1 = 1 c a = indice estremo di SX
a b b = indice estremo di DX
FIB2 = FIB0 + FIB1 = 1 c = indice elemento di mezzo
v 1 3 4 6 8 9 11 12
FIB3 = FIB1 + FIB2 = 2
c
FIB4 = FIB2 + FIB3 = 3 b
a
FIB5 = FIB3 + FIB4 = 5 v 1 3 4 6 8 9 11 12