[PYTHON] [Neta] Sortieralgorithmus von O (1)

Einführung

Eines Tages fand ich einen Artikel wie diesen. Sortieren von O (1) schneller als Sortieren von Stalin

"Zerstöre die Wahrheit und verbreite vorgegebene Informationen"

Aus diesem Grund sieht diese Sorte mit dem Namen ** Large Headquarters Announcement Sort ** interessant aus. Als ich nachgesehen habe, ob es noch etwas gibt, habe ich verschiedene Dinge gefunden, also werde ich sie zusammenfassen.

Versuchen Sie zu implementieren

Große Hauptquartieransage sortieren

Propaganda.py


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

Eingang [3, 4, 6, 1, 2, 5, 9, 8, 10, 7] Ausgabe [1, 2, 3] Es ist ein Algorithmus, der sich so anfühlt.

Autoklassische Sortierung

Entdeckt Auto Classy Sort.

Autocracy.py


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

Eingang [3, 4, 6, 1, 2, 5, 9, 8, 10, 7] Ausgabe [3]

Im Vergleich zur Ankündigung der großen Zentrale wird die ursprüngliche Regelung vorerst berücksichtigt. Natürlich beträgt der Berechnungsbetrag auch $ O (1) $.

Spirituelle Art

Diese Art wurde auf der Website von Kuina-Chan veröffentlicht.

Ich habe einen Algorithmus namens "spirituelle Sortierung" entwickelt. Es ist ein Wunderalgorithmus von O (1), der Sie denken lässt, dass er in der richtigen Reihenfolge angeordnet ist, indem Sie fest davon überzeugt sind, dass er in der richtigen Reihenfolge für die Datenzeichenfolge angeordnet ist, die nicht in der richtigen Reihenfolge angeordnet ist. Versuchen Sie es zu implementieren.

Spiritual.py


def spiritual_sort(list):
    return list

Eingang [3, 4, 6, 1, 2, 5, 9, 8, 10, 7] Ausgabe [3, 4, 6, 1, 2, 5, 9, 8, 10, 7] Dieser Sortieralgorithmus ist erstaunlich. Sie können sehen, dass sie in der richtigen Reihenfolge angeordnet sind. e? Ist es nicht in Ordnung? **Was sagst du? Bitte schauen Sie genauer hin. Ist es nicht fest ausgerichtet? Weißt du nicht ** **.

Es gibt keine Neuheit wie sie ist

Wenn es so endet, ist es nicht in Ordnung, weil ich nur mit dem Schwert eines anderen ringe. Deshalb denke ich darüber nach.

Es gibt nur eine Anforderung unten! ** Muss $ O (1) $ sein. ** ~~ Ehrlich gesagt, ist es nicht zu viel Spiel? ~~ Ich habe mein Bestes versucht und mir nur eines ausgedacht.

Nennen Sie es ** zensierte Sorte **.

Kriminelle Sorte

Um ehrlich zu sein, ist es eine subtile Neuheit, da sich der Inhalt der Ankündigungsart des großen Hauptquartiers geändert hat, aber ich konnte nur daran denken. Der Inhalt ist wie folgt.

  1. Drücken Sie nach Erhalt der Eingabe ** alles zusammen, um loszulegen. ** **.
  2. Zeigen Sie nach dem Drücken die zensierte und leere Liste an.

Wenn dies implementiert ist, sieht es so aus.

Censorship.py


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

Eingang [3, 4, 6, 1, 2, 5, 9, 8, 10, 7] Ausgabe WARNING: This input array was deleted for legal reasons. [] Da alle Elemente gelöscht wurden, kann es natürlich sortiert werden, und die Ausgabe ist dieselbe, wenn ein Array mit unendlicher Länge eingefügt wird, also $ O (1) $.

Referenz

Sortieren von O (1) schneller als Sortieren von Stalin Autoclassy-Sortierung mit verbesserter "Sterling-Sortierung" Kuina-Chan: Kuina-chan-Notiz

Recommended Posts

[Neta] Sortieralgorithmus von O (1)
Visualisieren Sie das Verhalten des Sortieralgorithmus mit matplotlib
Erklärung und Implementierung des ESIM-Algorithmus
Sortieralgorithmus und Implementierung in Python
Implementierung der ursprünglichen Sortierung in Python
Implementierung der Dyxtra-Methode durch Python