La différence entre le tri à bulles et le tri par sélection

    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.
Insérez la description de l'image ici
Insérez la description de l'image ici
    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.
Insérez la description de l'image ici
    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.
Insérez la description de l'image ici

La principale différence entre le tri à bulles et le tri par sélection
  1. 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.
  2. 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.
  3. Le tri à bulles est un algorithme stable, tandis que le tri par sélection est instable.
  4. 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.

Je suppose que tu aimes

Origine blog.csdn.net/zsx0728/article/details/114776325
conseillé
Classement