Letztes Jahr las ich einen fantastischen Artikel über „Quantenmechanik für den Kindergarten“ . Es war kein leichtes Papier.
Nun frage ich mich, wie ich Quicksort mit möglichst einfachen Worten erklären kann. Wie kann ich beweisen (oder zumindest per Hand), dass die durchschnittliche Komplexität ist und was die besten und die schlechtesten Fälle für einen Kindergartenunterricht sind? Oder zumindest in der Grundschule?
algorithms
education
algorithm-analysis
didactics
sorting
Jonaprieto
quelle
quelle
Antworten:
Im Kern ist Quicksort:
Ich denke, jeder 4-Jährige auf dem Planeten könnte 1 und 2 machen. Die Rekursion könnte ein bisschen mehr Erklärung brauchen, sollte aber nicht so schwer für sie sein.
In Bezug auf die Komplexität sollte der Worst-Case relativ einfach sein. Betrachten Sie einfach ein bereits sortiertes Array:
Ziemlich leicht zu sehen (und zu beweisen), dass es .12n2
Ich kenne den Beweis für den Durchschnittsfall nicht, daher kann ich keinen wirklichen Vorschlag dafür machen. Man könnte sagen, dass in einem unsortierten Array mit der Länge die Wahrscheinlichkeit, den kleinsten oder größten Artikel auszuwählen, 2 beträgtl , also ...?2n
quelle
Quicksort ist eigentlich ziemlich einfach zu verstehen, wenn sie das grundlegende Zählen und Teilen durch 2 verstehen. Bilden Sie ein Bündel von X Karteikarten, nummerieren Sie sie 1 - X und mischen Sie es. Dann ist hier die Erklärung:
Herzliche Glückwünsche. Sie haben gerade ein paar Kindern die Grundprinzipien eines adaptiven Quicksort-Algorithmus beigebracht! Je nach geistiger Reife kann man ein bisschen tiefer gehen, aber weit darüber hinaus erfordert es ein gewisses Verständnis der formalen Logik.
Es ist schwieriger, seine Komplexität zu beweisen. Dies ist eines der Dinge, die formale Logik erfordern, und sie müssen zunächst die Grundprinzipien der Big-O-Notation verstehen. Vielleicht möchten Sie diesen Teil zuerst abwarten.
quelle
Wie wäre es damit?
Informatik Unplugged - Sortieralgorithmen
Es deckt nicht alle Ihre Fragen ab, aber es ist ein guter Anfang.
Weitere Ressourcen zu diesem Thema sind hier verlinkt .
Sie stellten auch ein Video zur Verfügung, in dem die Sortieralgorithmen (einschließlich Quicksort) erläutert werden . Dieses Video hilft wirklich dabei, den Unterschied zwischen den verschiedenen Sortieralgorithmen für kleine Kinder zu verstehen.
quelle
Sehen Sie sich die grafische Schönheit dieser kleinen Demo an .
.
quelle