Répertoire d'articles
Le tri est l'une des tâches principales des programmes informatiques et les éléments d'un tableau sont disposés dans un ordre spécifique. Le tri facilite la recherche. Le tri à bulles et le tri par sélection sont des algorithmes de tri, qui peuvent être distingués par la méthode de tri qu'ils utilisent. Le tri à bulles échange essentiellement des éléments, tandis que le tri sélectif effectue le tri en sélectionnant des éléments.
Une autre différence significative entre les deux est que le tri à bulles est un algorithme stable, tandis que le tri par sélection est un algorithme instable. Stable signifie que les enregistrements avec la même valeur apparaissent dans le même ordre avant et après le tri de la liste ou du tableau. De manière générale, la plupart des algorithmes stables et rapides utilisent de la mémoire supplémentaire.
Tableau de comparaison
Élément de comparaison | Tri à bulles | Sélectionnez le tri |
---|---|---|
De base | Comparer et échanger des éléments adjacents | Sélectionnez le plus grand élément et permutez avec le dernier élément (dans le cas de l'ordre croissant) |
Complexité temporelle dans le meilleur des cas | Sur) | O ( n 2 n ^ 2n2 ) |
efficacité | faible efficacité | Plus efficace que le tri à bulles |
stable | Oui | non |
méthode | échange | sélectionner |
la vitesse | lent | Plus rapide que le tri à bulles |
Définition du tri à bulles
Le tri par bulles est l'algorithme itératif le plus simple. Il compare chaque élément avec l'élément adjacent et les échange si nécessaire. En termes simples, il compare les premier et deuxième éléments de la liste et les échange lorsqu'ils ne sont pas dans le bon ordre. De même, les deuxième et troisième éléments sont comparés et échangés, et cette comparaison et cet échange se poursuivent jusqu'à la fin de la liste.
Le nombre de comparaisons dans la première itération est n-1, où n est le nombre d'éléments dans le tableau. Après la première itération, le plus grand élément est situé à la nième position. Après chaque itération, le nombre de comparaisons diminue et une seule comparaison est effectuée lors de la dernière itération.
Cet algorithme est l'algorithme de tri le plus lent. La complexité du meilleur cas du tri des bulles (lorsque la liste est organisée dans l'ordre) est de l'ordre de n (O (n)), et la complexité du pire des cas est O ( n 2 n ^ 2n2 ). Dans le meilleur des cas, son ordre est n, car il compare simplement les éléments sans les permuter. Cette technique nécessite également un espace supplémentaire pour stocker les variables temporaires.
Définition du tri de sélection
Les performances du tri par sélection sont légèrement meilleures que celles de l'algorithme de tri à bulles et l'efficacité est plus élevée. Supposons que nous voulions organiser un tableau dans l'ordre croissant, son rôle est de trouver le plus grand élément et de l'échanger avec le dernier élément, puis de répéter le processus suivant sur le sous-tableau jusqu'à ce que la liste entière soit triée.
Dans le tri par sélection, il n'y a pas de différence entre les tableaux triés et non triés, et la complexité dans le meilleur et le pire des cas consomme n 2 n ^ 2n2(O (n 2 n ^ 2n2 )) L'ordre de grandeur. Le tri par sélection est plus rapide que le tri par bulles.
La principale différence entre le tri à bulles et le tri par sélection
- Dans le tri à bulles, si nécessaire, chaque élément et ses voisins sont comparés et échangés. D'autre part, le tri par sélection fonctionne en sélectionnant des éléments et en échangeant cet élément particulier avec le dernier élément. L'élément sélectionné peut être le plus grand ou le plus petit, selon l'ordre croissant ou décroissant.
- La complexité du pire des cas des deux algorithmes est la même, c'est-à-dire O ( n 2 n ^ 2n2 ), mais la complexité optimale est différente. Le tri par bulles utilise n séquences de temps, tandis que le tri sélectif utilisen 2 n ^ 2n2 séquences chronologiques.
- Le tri à bulles est un algorithme stable, tandis que le tri par sélection est instable.
- L'algorithme de tri par sélection est rapide et efficace, tandis que le tri par bulles est très lent et inefficace.
en conclusion
L'algorithme de tri à bulles est considéré comme l'algorithme le plus simple et le moins efficace, et l'algorithme de tri par sélection est plus efficace que l'algorithme de tri à bulles. Le tri à bulles nécessite également un espace supplémentaire pour stocker les variables temporaires et nécessite plus d'échange.
Documents de référence
[1] techdifferences.com.Différence entre le tri à bulles et le tri par sélection [EB / OL] .https: //techdifferences.com/difference-between-bubble-sort-and-selection-sort.html,2021-01-01.
[2] Baidu. Stabilité de l'algorithme de tri [EB / OL]. Https://baike.baidu.com/item/sorting algorithme stabilité / 9763250, 2020-04-13.