Tri stupide

Tri stupide
Avec le tri stupide, un seul mélange peut suffire pour trier les éléments. Cette probabilité est cependant très faible.
Problèmes liés
Algorithme de tri, Algorithme de Las VegasVoir et modifier les données sur Wikidata
Structure des données
TableauVoir et modifier les données sur Wikidata
Complexité en temps
Pire cas
{\displaystyle \infty } [1]Voir et modifier les données sur Wikidata
Moyenne
O ( ( n + 1 ) ! ) {\displaystyle O((n+1)!)} [1]Voir et modifier les données sur Wikidata
Meilleur cas
O ( n ) {\displaystyle O(n)} [1]Voir et modifier les données sur Wikidata
Complexité en espace
Pire cas
O ( n ) {\displaystyle O(n)} [1]Voir et modifier les données sur Wikidata

modifier - modifier le code - modifier WikidataDocumentation du modèle

En informatique, le tri stupide, également appelé tri du singe ou bogo-tri ou bogosort, est un algorithme de tri particulièrement inefficace. Il est présenté pour des raisons pédagogiques, par comparaison aux méthodes de tri traditionnelles, ou comme exercice.

Algorithme

Le tri stupide consiste à vérifier si les éléments sont ordonnés et s'ils ne le sont pas, à les mélanger aléatoirement, puis à recommencer autant de fois que nécessaire.

 fonction tri_stupide (liste)
    tant que la liste n'est pas triée
        mélanger aléatoirement les éléments de la liste

L'algorithme est probabiliste, plus précisément c'est un algorithme de Las Vegas.

Complexité

Si tous les éléments sont distincts deux à deux, il y a n ! {\displaystyle n!} façons différentes de ranger n {\displaystyle n} éléments distincts dans une liste. Nous avons donc 1 / n ! {\displaystyle 1/n!} chance qu'une itération donnée de la boucle trie la liste.

Cet algorithme fait essentiellement deux types d'opérations : des comparaisons et des mélanges; Si les éléments sont distincts deux à deux, le nombre moyen de comparaisons est asymptotiquement équivalent à ( e 1 ) n ! {\displaystyle (e-1)n!} et le nombre moyen de mélanges est égal à ( n 1 ) n ! {\displaystyle (n-1)n!} [2].

Le pire cas n'est pas borné, pour la même raison qu'une pièce de monnaie peut tomber arbitrairement longtemps sur pile, mais la probabilité qu'il survienne est nulle. Cependant, le temps d'exécution moyen est fini, selon la même conclusion que celle du paradoxe du singe savant.

Références

  1. a b c et d (en) Hermann Gruber, Markus Holzer et Oliver Ruepp, « Sorting the Slow Way: An Analysis of Perversely Awful Randomized Sorting Algorithms », Fun with Algorithms: 4th International Conference, FUN 2007, Castiglioncello, Italy, June 3-5, 2007. Proceedings, Springer Science+Business Media,‎ , p. 183-197 (ISBN 978-3-540-72913-6 et 978-3-540-72914-3, DOI 10.1007/978-3-540-72914-3_17)Voir et modifier les données sur Wikidata
  2. H. Gruber, M. Holzer and O. Ruepp: Sorting the Slow Way: An Analysis of Perversely Awful Randomized Sorting Algorithms, 4th International Conference on Fun with Algorithms, Castiglioncello, Italy, 2007, Lecture Notes in Computer Science 4475, pp. 183-197.
v · m
Algorithmes de tri
Tris par comparaisons
Sans hypothèse autre
Complexité moyenne O ( n log n ) {\displaystyle {\mathcal {O}}(n\log n)}
Complexité moyenne O ( n 2 ) {\displaystyle {\mathcal {O}}(n^{2})}
Complexité moyenne moins bonne que O ( n 2 ) {\displaystyle {\mathcal {O}}(n^{2})}
Avec hypothèse supplémentaire
Réseau de tri
Tri utilisant d'autres opérations
Applications
  • icône décorative Portail de l'informatique théorique