Complessità, occupazione di memoria ed accesso ai dati

Il ciclo su $j$ è eseguito $i-1$ volte ed al suo interno ci sono due operazioni, una somma ed un prodotto, e questo ciclo è seguito da una divisione; in definitiva per ogni ciclo su $i$ le operazioni sono $2(i-1)+1=2i-1$. Sommando al variare di $i$ si ottiene

\begin{displaymath}\sum_{i=1}^n (2i-1)=\frac{2n(n+1)}{2}-n=n^2\end{displaymath}

perciò vengono eseguite $n^2$ flops, ed anche l'occupazione è $n^2$, risulta dunque un algoritmo proporzionale alla dimensione della matrice.

Il ciclo interno accede alla matrice $A$ per righe ma se, come già ampiamente discusso, il nostro linguaggio di programmazione memorizza le matrici per colonne risulta necessario rivedere il nostro algoritmo in modo opportuno.



Morpheus 2004-01-04