Sommes courantes en informatique
- Somme de Gauss : 1 + 2 + 3 + … + n
- Somme d’une suite géométrique : r^0 + r^1 + r^2 + …
- Sommes de nombres de Fibonacci
- Sommes des Puissances de Deux : 1 + 2 + 4 + 8 + 16 + …
- Sommes des poteaux de clôture
- Sommes des réciproques : 1/1 + 1/2 + 1/3 + 1/4 + …
- Sommes des carrés réciproques : 1/1 + 1/4 + 1/9 + 1/16 + 1/25 + …
Sur cette page
- Somme de Gauss : 1 + 2 + 3 + … + n
- Somme d’une suite géométrique : r^0 + r^1 + r^2 + …
- Sommes de nombres de Fibonacci
- Sommes des Puissances de Deux : 1 + 2 + 4 + 8 + 16 + …
- Sommes des poteaux de clôture
- Sommes des réciproques : 1/1 + 1/2 + 1/3 + 1/4 + …
- Sommes des carrés réciproques : 1/1 + 1/4 + 1/9 + 1/16 + 1/25 + …
Somme de Gauss : 1 + 2 + 3 + … + n
La somme
1 + 2 + 3 + … + n
Simplifie à
n(n+1) / 2.
Notez que cette quantité est Θ(n2).
Ce raccourci apparaît fréquemment dans [l’analyse d’algorithmes][1] comme le tri par insertion ou le tri par sélection.
Les nombres de la forme n(n+1)/2 sont appelés [les nombres triangulaires][2].
[1] : https://www.wikiod.com/fr/algorithm/debuter-avec-lalgorithme [2] : https://en.wikipedia.org/wiki/Triangular_number
Somme d’une suite géométrique : r^0 + r^1 + r^2 + …
La somme de la série géométrique
r0 + r1 + r2 + … + rn-1
Dans le cas où r ≠ 1, se simplifie en (rn - 1) / (r - 1). Si r < 1, cette somme est bornée par le haut par 1 / (1 - r).
Si r = 1, cette somme est rn.
Sommes de nombres de Fibonacci
Les nombres de Fibonacci sont définis de manière inductive comme
- F0 = 0
- F1 = 1
- Fn+2 = Fn + Fn+1
La somme des n+1 premiers nombres de Fibonacci est donnée par
F0 + F1 + F2 + … + Fn = Fn +2 - 1.
Cette sommation apparaît, entre autres, dans l’analyse des tas de Fibonacci, où elle est utilisée pour fournir une limite inférieure sur le nombre de nœuds dans chaque arbre du tas.
Sommes des Puissances de Deux : 1 + 2 + 4 + 8 + 16 + …
La somme
20 + 21 + 22 + … + 2n-1
se simplifie en 2n - 1. Cela explique pourquoi la valeur maximale pouvant être stockée dans un entier 32 bits non signé est 232 - 1.
Sommes des poteaux de clôture
On considère ici des sommes de la forme
une + b + une + b + … une
contre.
une + b + une + b + … b
Pour visualiser ces sommes, imaginez un tronçon de clôture alternant poteaux et lisses. Trois scénarios sont possibles.
-
Imaginez une section de clôture avec des poteaux à chaque extrémité, reliés par des rails. n rails nécessitent n+1 poteaux. A l’inverse p poteaux sont reliés par p-1 rails.
|—|—|—|
-
Imaginez une section de clôture avec un poteau à une extrémité, mais un rail ouvert à l’autre. n rails nécessitent n poteaux.
|—|—|—
or
—|—|—|
-
Imaginez une section de clôture avec des rails ouverts aux deux extrémités. n rails nécessitent n-1 poteaux. A l’inverse, p poteaux sont reliés par p+1 rails.
—|—|—
Des calculs comme celui-ci surviennent dans des situations telles que la mise en page d’objets graphiques où les tailles des objets doivent être additionnées et les espaces entre les objets doivent également être additionnés. Dans de telles situations, il est important de savoir si l’intention est ou non d’avoir des espaces à chaque extrémité.
La largeur totale d’une telle clôture sera toujours:
(largeur du poteau) x (nombre de poteaux) + (largeur du rail) x (nombre de rails)
Mais il faut faire preuve de prudence dans le calcul du nombre de poteaux et du nombre de rails afin d’éviter une erreur dite off-by-one. Les erreurs de ce genre sont courantes.
Sommes des réciproques : 1/1 + 1/2 + 1/3 + 1/4 + …
La sommation
1/1 + 1/2 + 1/3 + 1/4 + … + 1/n
est égal au nième [numéro harmonique][1], noté Hn. Le nième nombre harmonique obéit aux inégalités
ln ( n + 1 ) & et ; H<so &le ; ( ln n ) +
et donc Hn = Θ(log n). Les nombres harmoniques apparaissent souvent dans l’analyse des algorithmes, le tri rapide aléatoire étant un exemple particulièrement intéressant.
[1] : https://en.wikipedia.org/wiki/Harmonic_number
Sommes des carrés réciproques : 1/1 + 1/4 + 1/9 + 1/16 + 1/25 + …
La sommation
1/1 + 1/4 + 1/9 + 1/16 + …
vers l’infini converge vers π2 / 6, et donc toute sommation de la forme
1/1 + 1/4 + 1/9 + 1/16 + … + 1/n2
est &Thêta;(1).