Section 3.1 Somme des premiers entiers
Problème 3.1.1.
Comment utiliser efficacement l'ordinateur pour calculer la somme des \(n\) premiers entiers non nuls
Algorithme 1 : Approche naïve.
Combien d'additions doit-on effectuer pour évaluer la somme
Il en faut quatre. Plus généralement, on a besoin de \(n-1\) additions pour évaluer la somme des \(n\) premiers entiers naturels non nuls
Voici une implémentation de l'algorithme qui renvoie la valeur de cette somme en suivant cette approche naïve.
Pour faire simple, on peut considérer que la vitesse d'exécution de cet algorithme dépend essentiellement du nombre d'additions qu'il doit effectuer.
Notons \(T(n)\) ce nombre qui dépend de l'entier donné en entrée comme suit :
La fonction \(T\) ainsi définie est une estimation de la complexité en temps de cet algorithme.
Plus \(n\) est grand, plus le temps de calcul représenté par \(T(n)\) est grand.
Comme \(T\) dépend linéairement de \(n\text{,}\) on dit que la complexité de cet algorithme est linéaire.
Algorithme 2 : Formule de Faulhaber.
En fait, il existe une formule bien connue qui permet de calculer directement la valeur de \(\displaystyle\sum_{k=1}^nk\text{.}\) La voici :
Quelle que soit la valeur de \(n\text{,}\) cette approche ne requiert que trois opérations : une multiplication, une addition et une division.
Autrement dit, l'algorithme
a une complexité en temps constanteIl s'agit donc d'un algorithme beaucoup plus efficace que le précédent pour résoudre le problème 3.1.1.