Ablegefach-Sorte

Das Ablegefach-Sortieren, auch bekannt als die Sorte der Zählung (um mit dem Zählen der Sorte nicht verwirrt zu sein), sind ein Sortieren-Algorithmus, der passend ist, um Listen von Elementen zu sortieren, wo die Zahl der Elemente (n) und die Zahl von möglichen Schlüsselwerten (N) ungefähr dasselbe ist. Es verlangt O (n + N) Zeit.

Der Ablegefach-Algorithmus arbeitet wie folgt:

  1. In Anbetracht einer Reihe von zu sortierenden Werten, stellt eine Hilfsreihe am Anfang leerer "Ablegefächer", eines Ablegefaches für jeden Schlüssel durch die Reihe der ursprünglichen Reihe auf.
  1. Die ursprüngliche Reihe, gelegt jeder Wert ins Ablegefach entsprechend seinem Schlüssel, solch durchsehend, dass jedes Ablegefach schließlich eine Liste aller Werte mit diesem Schlüssel enthält.
  1. Wiederholen Sie über die Ablegefach-Reihe in der Ordnung, und stellen Sie Elemente von nichtleeren Ablegefächern zurück in die ursprüngliche Reihe.

Nehmen Sie zum Beispiel an, dass wir diese Wertpaare durch ihr erstes Element sortierten:

  • (5, "hallo")
  • (3, "Kuchen")
  • (8, "Apfel")
  • (5, "König")

Für jeden Wert zwischen 3 und 8 stellen wir ein Ablegefach auf, bewegen dann jedes Element zu seinem Ablegefach:

  • 3: (3, "Kuchen")
  • 4:
  • 5: (5, "hallo"), (5, "König")
  • 6:
  • 7:
  • 8: (8, "Apfel")

Wir wiederholen dann über die Ablegefach-Reihe in der Ordnung und treiben sie zur ursprünglichen Liste zurück.

Der Unterschied zwischen Ablegefach-Sorte und Zählen der Sorte ist, dass im Zählen der Sorte die Hilfsreihe Listen von Eingangselementen, nur Zählungen nicht enthält:

  • 3: 1
  • 4: 0
  • 5: 2
  • 6: 0
  • 7: 0
  • 8: 1

Das Verwenden dieser Information wir können eine Reihe des Austausches auf der Eingangsreihe durchführen, die es in der Ordnung, bewegende Sachen nur einmal stellt. Ablegefach-Sorte bewegt im Gegensatz Sachen zweimal: einmal auf die Reihe des Ablegefaches/Eimers und wieder auf die Bestimmungsort-Reihe.

Für die Reihe, wo N viel größer ist als n, ist Eimer-Sorte eine Generalisation, die in der Zeit und Raum effizienter ist.

Siehe auch


Premier des westlichen Australiens / Papst unschuldig XIII
Impressum & Datenschutz