[PYTHON] [Neta] Algorithme de tri de O (1)

introduction

Un jour, j'ai trouvé un article comme celui-ci. Sort of O (1) plus rapide que Staline sort

"Écraser la vérité et donner des informations prédéterminées"

C'est pourquoi ce type, nommé ** Tri d'annonce de grand siège **, semble intéressant. Quand j'ai vérifié s'il y avait autre chose, j'ai trouvé diverses choses, donc je vais les résumer.

Essayez de mettre en œuvre

Grand tri d'annonce de siège

Propaganda.py


def propaganda_sort(list):
    return [1, 2, 3]

contribution [3, 4, 6, 1, 2, 5, 9, 8, 10, 7] production [1, 2, 3] C'est un algorithme qui ressemble à ça.

Tri automatique

Découvert Tri automatique de classe.

Autocracy.py


def autocracy_sort(list):
    return [list[0]]

contribution [3, 4, 6, 1, 2, 5, 9, 8, 10, 7] production [3]

Comparé au grand type d'annonce du siège, l'arrangement original est considéré pour le moment. Bien entendu, le montant du calcul est également de O $ (1) $.

Sort spirituel

Ce tri a été publié sur le site de Kuina-Chan.

J'ai mis au point un algorithme appelé "tri spirituel". C'est un algorithme miracle de O (1) qui vous fait penser qu'il est arrangé dans l'ordre en croyant profondément qu'il est arrangé dans l'ordre pour la chaîne de données qui n'est pas arrangée dans l'ordre. Essayez de le mettre en œuvre.

Spiritual.py


def spiritual_sort(list):
    return list

contribution [3, 4, 6, 1, 2, 5, 9, 8, 10, 7] production [3, 4, 6, 1, 2, 5, 9, 8, 10, 7] Cet algorithme de tri est incroyable. Vous pouvez voir qu'ils sont alignés dans l'ordre. e? N'est-ce pas en ordre? **Qu'est-ce que tu dis? Veuillez regarder de plus près. N'est-il pas fermement aligné? Tu ne sais pas? ** **

Il n'y a pas de nouveauté comme ça

Si ça se termine comme ça, ça ne va pas parce que je lutte juste avec l'épée de quelqu'un d'autre. C'est pourquoi j'y pense.

Il n'y a qu'une seule exigence ci-dessous! ** Doit être $ O (1) $. ** ~~ Honnêtement, n'est-ce pas trop de jeu? ~~ J'ai fait de mon mieux et je n'en ai trouvé qu'un.

Nommez-le ** tri censuré **.

Type criminel

Pour être honnête, le contenu annoncé par le grand type d'annonce du siège n'a fait que changer, il est donc subtil en tant que nouveauté, mais je ne pouvais que penser à cela. Le contenu est le suivant.

  1. À la réception de l'entrée, ** appuyez sur tout pour commencer. ** **
  2. Après avoir pressé, affichez la liste censurée et vide.

Lorsque cela est mis en œuvre, cela ressemble à ceci.

Censorship.py


def censorship_sort(list):
    print("WARNING: This input array was deleted for legal reasons.")
    return []

contribution [3, 4, 6, 1, 2, 5, 9, 8, 10, 7] production WARNING: This input array was deleted for legal reasons. [] Puisque tous les éléments ont été effacés, il peut être trié naturellement, et la sortie est la même lorsqu'un tableau de longueur infinie est introduit, donc c'est $ O (1) $.

référence

Sort of O (1) plus rapide que Staline sort Tri automatique avec "tri Sterling" amélioré Kuina-Chan: Kuina-chan Note

Recommended Posts

[Neta] Algorithme de tri de O (1)
Visualisez le comportement de l'algorithme de tri avec matplotlib
Explication et implémentation de l'algorithme ESIM
Algorithme de tri et implémentation en Python
Implémentation du tri original en Python
Implémentation de la méthode Dyxtra par python