| Liste Articles: [0-A] [A-C] [C-F] [F-J] [J-M] [M-P] [P-S] [S-Z] | Liste Catégories | Une page au hasard | Pages liées | ||||||
Le tri à bulle est un algorithme de tri très
critiqué à cause de sa lenteur d'exécution. Il consiste à faire remonter le plus grand élément du tableau en comparant les
éléments successifs. C'est-à-dire qu'on va comparer le 1er et le 2e élément du tableau, conserver le plus
grand et puis les échanger s'ils sont désordonnés les uns par rapport aux autres. On recommence cette opération jusqu'à la fin du
tableau. Ensuite, il ne reste plus qu'à renouveler cela jusqu'à l'avant-dernière place et ainsi de suite… On arrête quand le
tableau à trier est de taille 1 ou qu'on n'a pas fait d'échanges au dernier passage.
Pour trier un tableau A de taille N, le nombre de comparaisons entre paires d'éléments est donc au plus
. Le nombre d'échanges de paires d'éléments successifs est
égal au nombre de couples (i,j) tels que i < j et A(i) > A(j). Ce nombre d'échanges est indépendant de la manière
d'organiser les échanges. Pour un tableau aléatoire, il est en moyenne égal à
. Le tri à bulle utilisera donc sur un ordinateur un temps
proportionnel à N2, ce qui est lent par comparaison avec les algorithmes en .
Un dérivé du Tri à Bulles est le shakersort, tri est basé sur une simple observation du comportement du tri à bulles : en effet, quand on fait un passage pour trier le maximum du tableau, on a tendance à déplacer les éléments les plus petits du tableau vers le début de celui-ci. Donc l'astuce consiste à alterner les sens de passage de notre bulle. Bien que le nombre d'échanges à effectuer soit identique (voir ci-dessus), on obtient un tri un peu plus rapide que la bulle. En effet, lors des changements de sens, cet algorithme relit les données les plus récentes et qui sont donc encore dans le tampon (cache) de la mémoire. Mais le temps d'exécution est toujours proportionnel à N2 donc médiocre.
|
|
|
à bulle · par sélection · par insertion · par tas · par base · rapide · fusion · comptage |


