Heim >Web-Frontend >js-Tutorial >Zwei Beispiele für den JavaScript-Sortieralgorithmus Hill Sorting_Grundkenntnisse
Einfügungssortierung ist hocheffizient, wenn mit fast sortierten Daten gearbeitet wird, das heißt, sie kann die Effizienz linearer Sortierung erreichen.
Aber die Einfügungssortierung ist im Allgemeinen ineffizient, da die Einfügungssortierung Daten jeweils nur um ein Bit verschieben kann.
Hill Sorting ist nach seinem Erfinder Donald Shell benannt und der Algorithmus wurde 1959 veröffentlicht. Einige ältere Lehrbücher und Referenzhandbücher nannten den Algorithmus Shell-Metzner, der den Namen Marlene Metzner Norton enthält, aber laut Metzner selbst „habe ich nichts für diesen Algorithmus getan und mein Name sollte nicht im Algorithmus erscheinen.“ >
Die Grundidee der Hill-Sortierung: Nehmen Sie zunächst eine Ganzzahl d1 kleiner als n als erstes Inkrement und teilen Sie alle Datensätze in der Datei in d1-Gruppen auf. Alle Datensätze, deren Abstand ein Vielfaches von d1 ist, werden in derselben Gruppe platziert. Führen Sie zuerst eine direkte Einfügungssortierung innerhalb jeder Gruppe durch. Nehmen Sie dann das zweite Inkrement d2 < ist, bis alle Datensätze für die direkte Einfügungssortierung in derselben Gruppe platziert werden.
Beispiel 1: