Le principe du tri à bulles (bubble sort ou sinking sort) est de comparer deux à deux les éléments e1 et e2
consécutifs d'un tableau et d'effecteur une permutation si e1 > e2. On continue de trier jusqu'à ce qu'il n'y ait plus de permutation.
L'animation ci-après détaille le fonctionnement du tri bulle :
Dans le meilleur des cas, avec des données déjà triées, l'algorithme effectura seulement n - 1 comparaisons. Sa complexité dans le meilleur des cas
est donc en Θ(n).
Dans le pire des cas, avec des données triées à l'envers, les parcours successifs du tableau imposent d'effectuer (n2-n)/2 comparaisons et échanges.
On a donc une complexité dans le pire des cas du tri bulle en Θ(n2).
Si tous les éléments de la série à trier sont distincts et que toutes leurs permutations sont équiprobables, la complexité en moyenne de l'algorithme est de l'ordre de
(n2-n)/4 comparaisons et échanges. La complexité en moyenne du tri bulle est donc également en Θ(n2)
Parmi les variantes du tri bulle on peut citer le tri Shuttle.Cet algorithme de tri
fonctionne comme le tri bulle mais change de direction à chaque fois qu'il est parvenu à une extrémité.
On peut également citer le tri de Oyelami ou le tri à "peigne" qui reprend des caractéristiques du tri Shell et du tri à bulles.