Algoritmi/La ricorsione: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Gian BOT (discussione | contributi)
m Bot: sostituzione tag obsoleti
Wim bot (discussione | contributi)
m Bot: Correggo errori comuni (tramite La lista degli errori comuni V 1.1)
 
Riga 19:
 
La [[Wikipedia:it:sezione aurea|ratio aurea]] è il rapporto tra un segmento maggiore <math>a</math> e uno minore <math>b</math>: <math>\varphi = \tfrac{a}{b}</math>. Il segmento maggiore <math>a</math> è il medio proporzionale tra il minore <math>b</math> e la somma dei due:
:<math>\left( a + b \right) : a = a : b ; \; \frac{ \varphi + 1 } {\varphi} = \varphi; \; {\varphi}^2 - \varphi - 1 = 0; \; \varphi = \frac{1 + \sqrt{5}}{2} \vee \varphi ' = \frac{1 - \sqrt{5}}{2}</math>
 
Ogni numero di Fibonacci ha la seguente relazione con la ratio aurea <math>\varphi</math>:
Riga 46:
 
===Moltiplicazione rapida di 2 interi===
1º modo) Seguo la definizione ricorsiva: <math>\begin{cases} x \cdot y = x + x \cdot \left( y - 1 \right) \\
x \cdot 1 = x \end{cases}</math>
 
Riga 56:
y = y_s \cdot {10}^{{n \over 2}} + y_d \end{cases}</math>
 
:<math>x \cdot y = \left( x_s \cdot {10}^{{n \over 2}} + x_d \right) \cdot \left( y_s \cdot {10}^{{n \over 2}} + y_d \right) = x_s \cdot y_s \cdot {10}^n + x_s \cdot y_d \cdot {10}^{{n \over 2}} + x_d \cdot y_s \cdot {10}^{{n \over 2}} + x_d \cdot y_d</math>
 
Si continua a suddividere ciascun sottovettore fino alla condizione di terminazione: i fattori hanno una sola cifra.
Riga 64:
===Moltiplicazione rapida di 2 interi ottimizzata===
Il numero di moltiplicazioni richiamate a ogni passo si riduce a 3:
:<math>x_s \cdot y_d+x_d \cdot y_s=x_s \cdot y_s+x_d \cdot y_d- \left( x_s-x_d \right) \cdot \left( y_s-y_d \right)</math>
 
==Liste==
Riga 70:
'''sequenza lineare''' = insieme finito di elementi, ciascuno associato a un indice univoco, in cui conta la posizione reciproca tra di essi (cioè ogni elemento ha un successore e un predecessore).
 
# '''accesso diretto:''' (implementazione tramite vettore) locazioni di memoria contigue accessibili tramite indice → complessità <math>O \left( 1 \right)</math>;
# '''accesso sequenziale:''' l'accesso a un certo elemento necessita della scansione sequenziale della lista a partire dal primo elemento → complessità <math>O \left( n \right)</math>.
 
Una lista è una sequenza lineare ad accesso sequenziale. La lista è un concetto astratto, e si può implementare in C: