Différence entre le tri rapide et le tri de fusion

Différence entre le tri rapide et le tri de fusion

Le tri des articles dans une liste est une tâche banale et prend souvent du temps. Le trime tri fait généralement référence à l'organisation des éléments dans une liste dans l'ordre croissant ou descendant sur la base d'une relation de commande pré-spécifiée. Le tri est souvent destiné à la recherche, ce que son autre activité fondamentale dans le traitement des données. Imaginez à quel point il aurait été difficile de rechercher un mot sur un dictionnaire si les mots n'avaient pas été organisés ou triés. C'est la raison pour laquelle les entrées d'un dictionnaire sont conservées dans un ordre alphabétique standard. De nombreuses tâches et calculs deviennent sans effort simplement en triant. Et c'est là que les algorithmes de tri arrivent à l'image.

Un algorithme de tri n'est rien d'autre qu'une méthode pour organiser les éléments d'une liste en un ordre spécifique, comme la valeur la plus basse à la plus élevée, la valeur la plus élevée, l'ordre croissant, l'ordre décroissant, l'alphabétique, etc. Les commandes les plus couramment utilisées sont l'ordre numérique et lexicographique. Les algorithmes utilisent souvent le tri comme sous-programme clé. Il existe une grande variété d'algorithmes de tri utilisés partout, chacun utilisant un riche ensemble de techniques. Un algorithme de ces algorithmes diviser et conquér. Le tri rapide et le tri de fusion sont les deux algorithmes couramment utilisés basés sur l'algorithme de division et de conquête.

Qu'est-ce que le tri rapide?

Le tri rapide est un algorithme de tri hautement efficace mais efficace basé sur l'approche de division et de conquête qui est assez similaire à l'approche dynamique dans laquelle un problème est divisé en deux sous-problèmes ou plus, puis résolus récursivement. Si la taille des sous-problèmes est suffisamment petite, alors ils sont résolus simplement de manière simple sans tracas. Également appelée type d'échange de partition, l'algorithme de tri rapide divise la liste à tri en trois parties principales: 1) élément de pivot (éléments centraux), 2) des éléments inférieurs au pivot et 3) des éléments supérieurs au pivot. Le pivot lui-même est déplacé entre les deux groupes à sa position finale et le tri rapide est ensuite appliqué récursivement.

Qu'est-ce que le tri de la fusion?

Merge Sort est encore un autre algorithme de tri à usage général basé sur la technique de division et de conquête. Il s'agit de l'un des algorithmes de tri les plus respectés et les plus populaires conçus pour être utilisés efficacement pour trier les données stockées en externe dans un fichier. Il offre un comportement O (n log n) dans le pire des cas tout en utilisant un stockage supplémentaire O (n). Il divise une collection «A» en deux collections plus petites, chacune étant triée. Dans la phase finale, ces deux collections triées sont fusionnées dans une seule collection de taille n. Ce sera la liste triée. L'algorithme est assez rapide et est également un type stable, et est idéalement préféré pour les listes liées.

Différence entre le tri rapide et le tri de fusion

Bases

- Le tri rapide et le tri de fusion sont les algorithmes de tri des divisions et des conquis avec le même principe de base - pour diviser un problème en deux sous-problèmes ou plus, puis les résoudre de manière récursive. Cependant, ils diffèrent dans les procédures de fusion et en termes de performance. Le tri rapide est généralement meilleur et plus rapide que les autres algorithmes de tri, y compris le tri de fusion en ce qui concerne un petit ensemble de données, tandis que Merge Sort maintient la cohérence quel que soit le type d'ensembles de données. Le tri rapide est idéalement préféré pour les tableaux tandis que le tri de fusion est idéalement préféré pour les listes liées.

Complexité spatiale

- Le tri dans l'algorithme de tri rapide est fait de manière récursive, et chaque appel récursif nécessite un lieu de pile. Il ne nécessite pas d'espace supplémentaire pour fusionner, sauf un seul espace mémoire pour la fusion. Comme il s'agit d'un algorithme de tri sur place, aucun espace supplémentaire n'est nécessaire pour effectuer un tri. En fait, il utilise le même tableau tout en divisant et en fusionnant le tableau. En cas de fusion, en revanche, il existe plusieurs façons de représenter des données dans un fichier ou en tant que tableau, il a donc besoin de zones de travail telles que des sous-fichiers ou des tableaux de même taille qui nécessitent un espace supplémentaire.

Pire complexité des cas

- Le pire des cas pour un tri rapide se produit lorsque le partitionnement est déséquilibré, ce qui dépend des éléments utilisés pour le partitionnement, auquel cas, l'algorithme fonctionne asymptotiquement aussi lentement que le tri d'insertion. La pire performance des cas du tri rapide est O (n2) et est laissé comme un exercice. Cependant, il peut être évité en choisissant le bon pivot. Le pire cas de tri de fusion, en revanche, se produit lorsqu'il doit faire un nombre maximum de comparaisons. Compte tenu des performances linéaires pour la fusion, la pire performance des cas du tri de fusion est O (n logarithme2 n).

Performance

- Bien que les algorithmes de tri rapide et de fusion soient basés sur l'approche de division et de conquête pour le tri, ils diffèrent par les méthodes utilisées pour effectuer la scission et les procédures de fusion. Pour un tri rapide, la majeure partie du travail consiste à partitionner la liste en deux sous-listes qui se déroulent avant que les sous-listes ne soient triées. Pour le tri de fusion, la majeure partie du travail consiste à fusionner deux sous-listes qui se déroulent après que les sous-listes soient triées. Le tri de fusion nécessite un tableau temporaire pour fusionner deux sous-terrains, alors qu'aucun espace de tableau supplémentaire n'est requis pour un tri rapide, ce qui le rend plus efficace d'espace que le tri de marge.

Sort rapide vs. Sort de fusion: graphique de comparaison

Résumé du tri rapide vs. Tri par fusion

Les algorithmes de tri rapide et de fusion sont basés sur l'approche de division et de conquête pour le tri. Cependant, ils diffèrent par les méthodes utilisées pour effectuer la division et les procédures de fusion. Ils travaillent essentiellement sur le même principe - pour diviser un problème en deux sous-problèmes ou plus, puis les résoudre récursivement. Le tri de fusion est plus efficace que le tri rapide dans le pire des cas, mais les deux sont tout aussi efficaces dans le cas moyen. Mais le tri rapide est plus économe en espace que le tri de fusion. Si rapide est sans aucun doute plus rapide et mieux que de fusion, mais il devient inefficace dans quelques situations comme en ce qui concerne les comparaisons.